Six years at Amazon taught me what breaks at scale, and what a developer will actually tolerate on a Tuesday afternoon. Everything on this programme came after, and each of the four exists because the alternative was renting it or doing without.
React and TypeScript on the web, React Native on the phone, Convex when something needs a backend. What I care about most is the distance between a good idea and something you can actually open, and how much of that distance turns out to be tooling rather than talent.
PROGRAMME
i.
Kindred
2026
A private hub for the family you can still call
i
Build — fifteen relatives in twelve lines of typing
React 19 · Convex · Clerk
ii
Union model — remarriage, half-siblings and adoption, no special cases
GEDCOM in and out
iii
Built for the relative least likely to forgive an interface
Eleven filmed lessons
ii.
ManagePort
2026
Property management for the landlord with a shoebox and a spreadsheet
i
Portfolio — properties, units, leases and the documents behind them
Next.js 15 · Convex · Clerk
ii
Money — rent status by month, utility bills split by percentage
paid, partial, due, overdue
iii
Tutorials that are tests — the walkthroughs assert while they record
187 tests, 7 films
iii.
RepSheet
2026
A workout tracker, written after one subscription renewal too many
i
Pre-filled — every set opens on the weight and reps from last time
React Native · Expo
ii
On the device — SQLite on the phone, no account, nothing to cancel
Nothing leaves the handset
iii
A rest timer that starts itself, and a chart for every lift
Not in the stores yet
iv.
PrepStack
2026
Interview prep that teaches the pattern rather than the problem
i
Patterns — the twenty-three underneath the three hundred problems
TanStack Start · React 19
ii
Visualisers — forty algorithms stepped through, every trace hand-checked
308 problems, laddered
iii
A plan — twelve weeks at pace, or twenty-four alongside a job
Live
FILM · KINDRED
A whole family, typed in.
Thirty-six seconds, one continuous take, nothing cut. Fifteen people across four generations in twelve lines of typing — filmed in the app, at the speed it runs. Names invented; the tree, the parse and the joining up are not.
Ten seconds: search the portfolio, open a duplex, read what it makes once the mortgage and the utilities come out, export the lot for the accountant. Recorded by the test suite itself — the walkthrough asserts while it films, so it cannot show a screen the app no longer has. Tenants and figures are seeded demo data.
A minute in the app, filmed on the phone. Open a saved workout and the grid is already filled in — 7 × 140 from last time, waiting to be corrected rather than typed. Log the set and the rest timer starts itself, 75 seconds, no second tap. It ends on the summary: forty-three minutes, twelve sets, 10,955 lb, every personal record flagged. I was paying a subscription to do this in somebody else’s app; the data now sits in SQLite on the handset, with no account and nothing to cancel.
The sliding-window walkthrough caught mid-trace: the window, the pointers, the running sum, and a line telling you why it moves next. Twenty-three patterns, forty of these visualisers, and 308 problems laddered easiest to hardest across a twelve- or twenty-four-week plan. Every trace is hand-verified rather than generated — a wrong trace teaches the wrong thing.
Twenty minutes. The second half is not about software.
PART TWO
v.
Away from the desk
year-round
What the rest of the week turns out to be for
i
Snowboarding — Baker when it's deep, Crystal when it isn't
60+ days since 2019
ii
Gaming — the same four people, every Thursday
co-op, mostly
iii
Sport — League Pass, Sunday football, Formula 1
a reluctant optimist
vi.
Currently
2026
Three things open on the desk this month
i
Building — RepSheet, through a simulator QA pass
in progress
ii
Shipping — PrepStack’s study loop, task six of nine
six of nine done
iii
Riding — Mt. Baker, most Saturdays
until the snow gives up
PLATES
Three photographs, printed on different stock.
PLATE I
Mt. Baker, February.
Sixty-odd days on this mountain since 2019. From November to April the weekends belong to it, and everything on this programme gets built on weeknights instead.
PLATE II
Four months old, and unimpressed.
He arrived in April. So far he has no opinion about any of this and a very strong one about the ceiling fan. Most of what I’ve learned this year I learned somewhere between two and four in the morning.
PLATE III
The desk, 5:40 in the morning.
The hour before he wakes up is the best one I get. Two shots of espresso, one screen, nothing else open. Most of what is on this programme was written in it.
BIOGRAPHY
I joined Amazon in 2018 and stayed six years. The first three were backend services on the retail side—Java, DynamoDB, and a working education in what scale costs you at three in the morning. The last three were internal developer tools: build and deploy for a few thousand engineers, where I cut median CI wall time roughly in half by attacking the parts nobody wanted to look at.
I left in 2024 to work for myself and have been independent since. The four projects on this programme were all built in that time — a family tree, a property ledger, a workout log and an interview curriculum — which reads like a scattered list until you notice that each one began as something I wanted and could not buy in the shape I wanted it. Before any of it: a B.S. in Computer Science from the University of Washington, 2018. I have lived in Seattle the whole time and have no plans to fix that.
ENQUIRIES
I take on a small number of contracts a year, and I'm always happy to talk through a build with someone who's stuck in the middle of one. A paragraph about what's broken is plenty—no deck required.