Writing

Thoughts on building products.

Short, direct articles on web development, mobile engineering, and the craft of shipping software.

Featured

5 min read

Why I build with Next.js for every client project (and when I don't)

Next.js is my default — but defaults exist to be questioned. Here's the decision framework I actually use when scoping a new project.

Read the note

Writing

4 min read

RTL by default: building bilingual apps that don't feel translated

Most bilingual apps are just translated. Here's how to build one that feels native in both directions — from day one.

Read the note

6 min read

Shipping a React Native app without a Mac: what actually works

EAS Build changed the game. Here's a real workflow for submitting to both the App Store and Play Store from any machine.

Read the note

3 min read

Supabase vs a custom backend: when each makes sense

Not every project needs a custom backend. Here's how I decide in the first client conversation — and what I've regretted both ways.

Read the note

5 min read

Vercel vs Railway: when to use which (a practical guide)

Both are excellent. But choosing wrong costs you money, speed, or your sanity. Here's how I pick for each project type.

Read the note

Get the occasional post.

No newsletter cadence, no spam. Just articles when there's something worth writing.