Services
Six things I am actually hired for.
One developer, not a studio. Everything below has shipped: each page names the apps it came from and links through to how they were built.
React Native app development
One TypeScript codebase, iOS and Android together, taken from an empty folder to both stores.
- React Native
- Expo
- TypeScript
- Expo Router
- React Navigation
Native iOS and Android development
Swift and Kotlin, written as Turbo Modules for the New Architecture or as the native half of an app that needs one.
- Kotlin
- Swift
- Turbo Modules
- New Architecture
- Bridgeless
Web app development
React 19 on TanStack Start, typed end to end, deployed to the edge on Cloudflare.
- React 19
- TanStack Start
- TanStack Router
- TanStack Query
- Vite
Backend and API development
Hono or NestJS over Postgres with Drizzle, typed from the schema through to the client.
- Hono
- NestJS
- Drizzle ORM
- Postgres
- Neon
DevOps and release engineering
The pipeline between a merged pull request and a user with the update, for mobile and web alike.
- EAS Build
- EAS Update
- Expo Updates
- GitHub Actions
- Cloudflare Workers
React Native upgrades, migrations and maintenance
Bringing an app that has fallen behind back onto a current version, with a plan rather than a weekend.
- React Native
- New Architecture
- Hermes
- React DevTools Profiler
- Flashlight
How it runs
Four steps, and you can see the work at every one.
- 01
Discovery
A paid, short, bounded piece of work: I read what exists, ask the questions that change the estimate, and write down what the first version actually is. It ends in a document and a fixed price, and you own both whether or not we continue.
- 02
Plan
Scope split into milestones you can recognise from the outside, with the risky items first rather than last. If something is going to be a problem, I would rather find it in week two than week nine.
- 03
Build
A build in your hands every week or two, not a reveal at the end. Work happens in your repository, in reviewable commits, with types and CI from the first one rather than added once it hurts.
- 04
Launch and after
Store submission, phased rollout and the review replies. Then either handover with documentation and a pipeline you can run, or a monthly retainer. The handover is designed for either outcome.
The tools underneath
Each of these has its own page describing where it has run in production and what I know about it that is not on its documentation site.
Tell me what you are building.
A sentence about the product and where it is stuck is enough to start. I answer every mail myself, including the ones where the answer is that I am not the right person.