Tools and games
Real systems. Useful tools. Fun ways to learn.
Systems I built from scratch and you can run right here, everyday tools anyone can use, and small games that explain tech by letting you play. All in your browser — no sign-up, nothing uploaded.
Built from scratch
A database, a consensus algorithm and a real-time editor — each with its own tests.
QueryLite: a SQL database
A SQL database written from scratch — parser, B+ tree indexes, a query planner, joins and transactions — running live on 22,000 rows in your browser.
Raft consensus, live
The algorithm that keeps etcd and Kubernetes consistent. Five servers elect a leader and replicate a log — crash them and split the network while it runs.
Live collaborative editor
Real-time editing with no server. Three devices share a note — take one offline, edit everywhere, reconnect, and they merge. Open a second tab and it syncs live.
Everyday tools
For money, time and passwords.
Split the bill
Add friends and who paid for what. Get the fewest payments that settle everyone — and copy it for WhatsApp.
Loan EMI calculator
Your monthly EMI, the total interest, and how much you save by paying a little extra every month.
SIP planner
See what a monthly investment grows into — or how much you need each month to reach a goal.
Focus timer
Work for 25 minutes, rest for 5, repeat. A calm timer that keeps time even when the tab is in the background.
Password maker
Strong passwords or easy-to-type word phrases, with an honest “how long to guess” meter.
Learn by playing
AI agents, LLM testing and system design.
LangGraph: wire the agent
A puzzle game. Connect the arrows between an agent’s steps, run the tests, and learn how LangGraph agents loop, stop and wait for people.
Langfuse: trace detective
A user complains. You get the trace. Tap the step that caused it — six cases, three lives.
Rate limiter
Watch a token bucket let requests in or turn them away. Change the limits and see what gets through.
Flaky test suite
Run a CI suite 20 times. Fix sleeps and shared data, add workers and retries — and see when a retry hides a real bug.
LLM test gate
Test an LLM feature the way the post says: structure, facts, then meaning. Compare two prompts and see which one the gate lets ship.
Guardrail game
Catch prompt-injection attacks and let safe prompts pass. An arcade round, then a slower round scored on precision and recall.
Circuit breaker
Make a service your API depends on fail or hang. Watch threads pile up — and how a circuit breaker keeps the rest of the API alive.
Cache stampede
See what happens to the database when many cache keys expire at the same moment — and how two small fixes stop it.
Capacity planner
Enter your traffic and latency. Get how many requests are in flight, and whether your database pool can take it.
API chain builder
Paste an API response, pull values out with JSONPath, and see them filled into the next request.
Next-token notes
My notes on how an LLM picks the next word — tokens, embeddings, attention, softmax — one step at a time.
Ask about me
Ask anything about me. It searches this site, then answers in plain words — always showing where the answer came from.