Daily drill
Today's Session
The 20-minute loop, assembled for you: the cards spaced repetition says you're about to forget, plus a coding and a system-design prompt. Finish it daily and keep the streak alive.
Today's cards — grade each by confidence
Today's prompts — try before you reveal
- CodeMid
Build a useDebounce hook
hooksperformancetimersWrite a generic
useDebounce<T>(value, delay)hook that returns a debounced copy ofvaluewhich only updates after the input has been stable fordelaymilliseconds. A classic use is debouncing a search box before firing a query.next: new - DesignArchitect
Real-time chat for a private-markets app
real-timewebsocketsofflinesyncchatYou are architecting the messaging layer of Valt Connect, a private-markets app where deal teams chat about confidential transactions on Twilio Conversations. Threads must feel instant, survive flaky elevator/garage networks, never duplicate or reorder a message, and load months of history smoothly.
Design the client-side chat system end to end: transport choice, message ordering & dedup, an offline send queue, presence/typing, and history pagination. Walk through what happens to a message sent while the device is fully offline and how it reconciles when the socket reconnects.
next: new