Start a project
Home/Lab

The lab

Working systems you can poke: a database, concurrency, traffic, hashing and caching. Everything runs live in your browser, no backend required.

01

SQL playground

A real SQLite database running in your browser, filled with a BidBary-style auction dataset. Write queries, read the plan, chart the result.

How I'd run it for real. PostgreSQL with partial indexes on live lots, read replicas for analytics.

02

Auction race conditions

Eight bidders hit the same lot at once. Switch the locking strategy and watch lost updates appear or disappear.

How I'd run it for real. Optimistic locking with a version column, plus a single-writer queue per hot lot.

03

Rate limiter lab

The same traffic hits three limiters side by side. Change the load, send a burst, compare what gets through.

How I'd run it for real. A token bucket in Redis with an atomic Lua script at the API gateway.

04

Consistent hashing ring

Two hundred keys spread over a ring of servers. Add or remove a server and count how many keys have to move.

How I'd run it for real. Virtual nodes for even spread, used for cache sharding and session affinity.

05

Cache simulator

LRU, LFU and FIFO caches serve the same request stream. Change the traffic pattern and watch the hit ratios split.

How I'd run it for real. Redis LRU for sessions, LFU for hot catalogue data, short TTLs for prices.

06

Live GitHub data

My public repositories, languages and recent activity, fetched live from the GitHub API as you open this.

How I'd run it for real. Cached server-side with ETags to stay inside API rate limits.

07

Visual sketches

Smaller experiments in light, noise, physics and type.