// notes & case studies

What the work taught me

Engineering lessons pulled from real production work — abstracted enough to respect client confidentiality, specific enough to be useful.

note — client names and confidential details are intentionally left out. These are the patterns, not the projects.
Case study · 6 min read

Making AI features survive real users

Calling a model in a demo is easy. Keeping AI features reliable and paid-for in production is where the real engineering lives.

#AI-infra #reliability #billing #Ruby on Rails
Case study · 5 min read

Server-rendering a marketing site for SEO

A high-traffic events site was invisible to search in the places that mattered. Moving the right pages to SSR fixed it.

#SSR #SEO #performance #Core Web Vitals
Case study · 7 min read

Modelling money and approvals you can trust

Building the finance and payroll core of an ops product taught me that the data model is the product.

#data modelling #Ruby on Rails #finance #PostgreSQL
Note · 4 min read

When search silently drops the right results

The worst bugs aren't errors — they're correct-looking results that quietly omit what the user needed.

#search #testing #backend #reindexing
Note · 3 min read

Building a database from scratch, in public

Writing mini_db in C++ is me deliberately climbing under the abstractions I've shipped on for years.

#C++ #systems #learning #databases
Case study · 6 min read

Server-driven UI without the JavaScript spaghetti

Hotwire lets you build rich interactions while keeping the logic on the server — if you resist sprinkling global event listeners everywhere.

#Rails #Turbo #Stimulus #Hotwire
Case study · 5 min read

Keeping the same data in sync across every screen

When one entity shows up on five screens, a rename in one place has to be true everywhere — instantly. That's a single-source-of-truth problem, not a UI problem.

#mobile #SwiftUI #state #real-time
Case study · 6 min read

Modeling a relationship lifecycle that doesn't leak

Invite, accept, connected, disconnect — a two-sided relationship has more states than it looks, and the bugs all live in the transitions.

#data modelling #lifecycle #backend #Rails
Note · 5 min read

Shipping a full product solo — on your own infrastructure

You can take a real, i18n, payment-enabled platform from zero to deployed by yourself in weeks — if you own the infra instead of renting a black box.

#Next.js #self-hosting #infra #i18n