Small steps, steady progress๐
React exercises
Upsolved few from CF-1133
Virtual contests with @tryindeep & @always_VinodKr
Some thoughts...
Spent most of college learning alone and always wished for like-minded peers
Now, solving and discussing prob together feels unreal๐
Been little busy these past 3 days, but got some major work done!
๐ Mini-Kalshi
- Completed the first working version
- Fully DB-driven (no in-memory matching yet)
- Will start building the v2
Github : https://t.co/PjeFhEf86e
๐ DSA
- Solved some standard BS problems
๐ Today's Progress Update
Mini-Kalshi
- Built the Merge endpoint
- Continued testing matching logic:
- Partial transfers
- Mint & reverse mint
System Design
- Monolith vs Microservices Architecture
- Database sharding
- Caching in distributed systems
- CDN
๐ Today's Mini-Kalshi Update
- Completed & tested the Split endpoint:
Splits funds into equal YES/NO shares, increasing the market's total issued pairs
- Matching logic works smoothly so far!
It finds compatible orders and executes the trade
Spent hours debugging๐ฅฒ
๐ Today's Progress
๐ Mini-Kalshi
- Started implementing the Split endpoint
- SPLIT : Creates YES & NO contract pairs
๐ System Design with @gkcs_ and @tryindeep
- Overview of Dist. System
- Horizontal vs vertical scaling
- Load balancing
- Consistent hashing
- Message queue
๐ Mini-Kalshi Project Update
Finished implementing the placeOrder route, now comes the part End-to-End testing!
Some scenarios like:
- Partial fills & price-priority matching
- BUY-BUY minting & BUY-SELL transfers
- Insufficient balances & self-trading
- Concurrent orders
Day 16 building with @Saikat_deb12
Backend Mini kalshi
- created test for some routes.
- discussed whole createOder controller.
- around 20 edgecases we have to take care.
Whenever makes any changes in controller that effects the schema. Working on it.
Class :
- Reacthooks.
Today's update..
- Topic for DSA was sliding window & binary search with good & standard practice problems
- Added few tests to my auth controller, starting with TDD
Progress update on my mini-Kalshi
Wrapped up the Market and Order controllers today
createOrder had few complexities:
- determine if order is Bid/Ask
- lock user balance on Bid
- deduct stock asset(yes/no) quantity on Ask
- then write remaining balance/qty to Order & Log tables
Fat Finger errors : Its basically a typo. Accidentally placing a massive order, one typo means millions lost on real exchange
- Candlestick - the graph that we see, it shows the range between the opening price and the closing price.
Limit : To buy/sell asset with a specific target price
Market Order : To buy/sell asset immediately as per the current price in the market
IOC : Immediate or Cancel, if your order can't be filled immediately, it gets cancelled. No waiting in the book
Spent yesterday iterating and rethinking the DB schema from scratch alongside @tryindeep.
Turned out we didn't need separate tables for Bids and Asks.. thankful to a system design lecture. Then, just finalized the schema and got a thumbs up from @10Xpraash.
Now, let's build!
Before building the **Mini Kalshi**, I realized I first needed to understand **why we are designing the schema the way we are** and how a real exchange system works.
So I went through a system design lecture on CEX/order-book architecture.
What I Learned : ๐