Joseph Peterson
Senior Software Engineer
Remote, US
- hello@
ihaveasegway.com - Web
- ihaveasegway.com
- linkedin.com/in/joseph-peterson-96b90b168
Now
I'm a software engineer who builds the systems work flows through: queues, data pipelines, caches and the clusters under them, and now the lines where agents write the code. I'm working toward architecture: the decisions that are expensive to change, made with numbers and written down where the next person can find them.
What I build
Queues that lose nothing.
Brokers, workers and the acknowledgements between them, set so a crash costs a retry instead of an order. The Queue Lab shows where each setting breaks.
Caches that hold under load.
Expiry, coalescing and early refresh, tuned so one hot key cannot flatten the database behind it. The Cache Lab stampedes one on purpose.
Pipelines that count once.
Scheduled job graphs, change data capture and backfills that can run a day twice without counting it twice. The Backfill Lab runs a week of them.
Platforms that stay up.
Clusters, managed databases and serverless functions on two clouds, with the bill known before the first deploy. The Raft Lab is the part of that I can show here: five servers that agree while you break them.
Lines where agents write the code.
Specs, walls, checks and releases around coding agents, so a team keeps its judgment and stops typing. My essay on the road that closed says how.
How I work
The reasoning comes before the code.
The decisions behind this site that would be hard to reverse are written down: the options each one beat, what it trades, and the evidence that would show it was wrong.
I look for what already exists before I build.
The Route Lab plans its routes with VROOM, an open-source solver compiled to WebAssembly, not with a solver of mine. The Raft Lab is the exception, because the point was to understand Raft by writing it, and 3,000 seeded runs with faults check it.
Rules live in the build.
A Raft cluster that keeps its five safety properties, a queue that never loses or doubles an order, a cache node that never fetches one page twice at once: each is a test over 600 to 3,000 seeded runs that fails a pull request.
Cost and privacy are settled before the first line.
The site is hosted on a plan that stops at its limits instead of billing, and the demos run entirely in your browser.
Two-way doors close fast and open again.
This site's content went to 1,792 px wide one evening and came back to 1,312 px 74 minutes later, when it read as too wide.
What I'm working toward
Systems where the hard part is agreement, failure or cost, and engineering lines where agents do the typing and people keep the judgment. The Lab is where I build them, in pieces you can break.
Timeline
A lab is dated by its decision record.
Experience
Full history on LinkedIn.
Full résumé on request: hello@
Skills
- Message brokers: RabbitMQ, LavinMQ, SQS
- Crash the workers behind a queue
- Caching: look-aside, coalescing, TTLs
- Stampede a cache
- Scheduled pipelines: Airflow
- Backfill a week of reports
- Consensus: Raft
- Break a Raft cluster
- Route optimization: VROOM, OSRM
- Plan a bakery’s deliveries
- WebAssembly
- Plan a bakery’s deliveries
- AWS Lambda and API Gateway
- Four locks, none of them closed
- Coding agents and their harness
- The road closed. The stops didn’t.
Selected work
Backfill a week of reports
A nightly job counts the bakery's orders, one run per day. Fail a load, rerun a day, backfill the week, and check every total against the source.
Try itStampede a cache
Hundreds of readers ask for the bakery's menu when its cache entry expires. Coalesce, serve stale, refresh early or jitter, and watch the database.
Try itCrash the workers behind a queue
A broker hands the bakery's orders to three workers. Crash one mid-order, and choose when they acknowledge, to see work lost, done twice, or done once.
Try itBreak a Raft cluster
Five servers keep one log with Raft. Crash them, split the network and lose messages in your browser, and watch every safety property hold.
Try itPlan a bakery’s deliveries
A bakery, its vans and the day’s orders. VROOM plans the routes in your browser, on OpenStreetMap roads, and the map shows the driving it saves.
Try itWriting
The road closed. The stops didn’t.
Writing code by hand was how engineers provided. That route is closed, and the obligation to deliver is not. Notes on building the new route.
Essay 6 min read
Four locks, none of them closed
My 2024 trading bot’s config describes four security controls, and none of them could take effect. A teardown, two years later.
Postmortem 9 min read