~/uses
Uses
The languages, tools and services I reach for, and why. Opinions loosely held.
Languages
- TypeScript
- The default — browser, phone, or Node. I've migrated a JavaScript codebase to it and wouldn't go back.
- Python
- Backend services with FastAPI, and most of my LLM work.
- Swift, Kotlin & Java
- For the native modules React Native can't give you.
Mobile
- React Native + Expo
- Six-plus years, five-plus apps through the App Store and Play Store. EAS for builds.
- React Navigation & Expo Router
- Navigation, depending on the project's age.
- React Query, Redux Toolkit, Apollo
- Server state, client state, and GraphQL. React Query is the quickest way I know to make an app survive a bad network.
- Reanimated & Lottie
- Motion that stays smooth on cheap Android phones.
- Firebase Cloud Messaging
- Push notifications, reminders, real-time nudges.
Testing, release & observability
- Detox & Jest
- End-to-end and unit tests that run on every build, not just before a release.
- Fastlane, Bitrise, EAS
- Signing, building and shipping without anyone clicking through a console.
- GitHub Actions & CircleCI
- CI for everything else.
- Sentry
- Where performance problems and crashes go to be found.
Web, backend & cloud
- Next.js & React
- The web side, including this site. Electron when it needs to be a desktop app.
- NestJS & Node
- Structured APIs in TypeScript.
- GraphQL & REST
- Both, and I've migrated from one to the other.
- PostgreSQL, MySQL, MongoDB
- Relational by default; documents when the shape really is a document.
- AWS — Cognito, S3, DynamoDB
- Auth, storage, and a database that scales without a DBA.
- Cloudinary
- Images and media, transformed on the fly.
Planning
- GitHub Projects, Milestones & Issues
- Sprint planning where the code already lives. Also, it turns out, a decent CMS.
This site
- Next.js 16 + React 19
- Server components; incremental static regeneration.
- GitHub Issues
- CMS, comment store, and reactions — free and versioned.
- unified + Shiki
- Markdown to React, with VS Code-grade highlighting.
- Tailwind CSS 4
- Design tokens in CSS variables; light and dark.
- Geist & Geist Mono
- Typefaces.
- Vercel
- Hosting and analytics.