Essays, field notes, code write-ups, and case studies from the apps I've shipped.
Truffle's research and a wave of Gemini billing incidents make it clear: the 'API keys aren't secrets' decade is over. Here's what to do about it.
A private, offline-first car maintenance log built for the markets without a national service-history database.
Real-time flight tracking on iOS and Android, priced for people who don't fly for a living, with privacy built in from day one.
A deep dive comparing Gemini 3 Pro vs Gemini 2.5 Pro for building modern UIs, put to the test in Google AI Studio.
Building Flutter projects? Here are the top 5 recommended MCPs for you.
Things you should consider before adding @claude to your codebase to review (or break) your code.
Practical tips for avoiding the pitfalls of 'vibe coding' as a product engineer.
Unlocking creativity and growth through personal passion projects, AI tools and more.
The quiet developer's guide to getting noticed without being loud.
Your future self will thank you for keeping a brag document.
Things I wish I knew early about work communication.
Why writing might be the most underrated skill for software engineers.
Wiring a ChatGPT-powered chatbot into a Flutter app.
Cutting Flutter iOS build times when Firestore is in the dependency graph.
Shipping Flutter iOS builds to TestFlight with Fastlane and Semaphore.
Deploying Flutter iOS builds to testers with Firebase App Distribution on Semaphore.
Setting up a continuous integration pipeline for Flutter iOS apps on Semaphore.
Writing and running automated tests for Flutter apps on Semaphore.
Five areas I focused on to keep growing as a software developer.
Automating the iOS build and release pipeline for Flutter apps with Fastlane and GitHub Actions.
Automating the Android build and release pipeline for Flutter apps with Fastlane and GitHub Actions.