React Native engineer. Occasional philosopher. Always in the middle of refactoring something.
I build mobile apps at Infinite Red — the kind that actually ship, actually scale, and actually get used by people who aren't the client's employees.
Mobile & Web — React Native, Expo, React, Next.js
Backend — Node.js, Express, AWS Lambda, Firebase Functions
Data — PostgreSQL, SQLite, Supabase, Prisma, Firebase
Languages — TypeScript (primarily), JavaScript, Go, SQL
CI/CD — GitHub Actions, GitLab CI/CD, CircleCI
TypeScript is non-negotiable. The compiler is not your enemy.
- Shipping production React Native at scale, navigating the usual joys of auth, OTA updates, and Apple's review process
- Quietly building things under Aldercroft — an indie software venture that will either be a footnote or a chapter, TBD
- Using AI tooling daily and unironically — Claude, Cursor, and friends are load-bearing parts of my workflow, not novelties. I've thought a lot about what that means for how we write, review, and own code
- Integrating LLMs into mobile products in ways that are actually useful rather than just impressive in demos
I pull cards (MTG — the intersection of nostalgia and poor financial decisions). I manage an FPL team with more conviction than results. I lift weights and track macros with the same energy I bring to TypeScript types: obsessively and for reasons I struggle to fully articulate.
The codebase will outlive the deadline. Write accordingly.





