Timeline
How I got here
Roles, builds and the handful of moments that actually changed how I work. Most recent first.
- 2026NowWork
Independent
Shabs.Dev
Contract full-stack work, mostly product builds and performance rescues. The other half of the week goes into the Learn and Lab sections of this site.
- Shipped Ledgerline from schema to first paying user in 11 weeks
- Published 3 teaching tracks and 20 tips
- 2025Jan – DecWork
Lead engineer
Relaydesk
Led a three-engineer team building a realtime support inbox. Owned the socket layer, the event ordering model, and the reconnection path.
- p95 event delivery at ~180ms end to end
- Grew from 4 to 11 concurrent agents with no architectural change
- 2025Q2Work
Performance contract
Orchard
Six weeks fixing a storefront that took nine seconds to become interactive on real customer devices. Left behind a CI performance budget so it would stay fixed.
- Time to interactive 8.9s → 2.4s
- JS payload 890KB → 240KB
- 2024Mar – JunBuild
Internal tooling
Quarry
Replaced 90 minutes of daily manual reporting with materialised views inside the existing Postgres instance. Retired in 2025 when the company changed reporting tools.
- 2024OngoingTurning point
Started writing things down
Self-directed
Began keeping a decision log on every project. It changed how I work more than any tool I adopted that year, and it is where most of the writing on this site comes from.
- 2023StartTurning point
First production system
Self-taught
Shipped something people paid for, broke it in public, and learned what a database lock is at the least convenient possible moment.