Software Engineering
The Quiet Pressure of Joining a New Team
Experience made unfamiliar systems easier to navigate, but it never completely removed the pressure I feel when joining a new team and earning trust.
Senior iOS Engineer. Writing about mobile architecture, engineering trade-offs, AI tools, and the realities of building software in production.
Software Engineering
Experience made unfamiliar systems easier to navigate, but it never completely removed the pressure I feel when joining a new team and earning trust.
Software Engineering
I started with deep coverage around the most critical flows. The plan looked solid until one question exposed what I had missed: most of the application still had no safety net at all.
Software Engineering
Technical freedom sounds great until you realize nobody else is coming to make the difficult calls. Over time, I've learned that being trusted to make technical decisions is less about choosing what I prefer and more about owning the trade-offs that come with them.
Software Engineering
AI has dramatically accelerated implementation, but understanding remains the hardest part of software engineering. The more I use AI in production codebases, the more convinced I become that engineering leverage comes from understanding systems, not just generating code.
Supabase
I built a simple Bluesky publishing automation using Supabase, Cron, Edge Functions, Vault, and PostgreSQL. Here's what a tiny side project taught me about reliability, security, AI-assisted development, and production-ready automation.
Software Engineering
One lesson I've learned from production launches is that code complete and launch ready are not the same thing. A working app build is only one part of a successful release, and some of the biggest launch delays happen after development is finished.
Mobile Development
After years of building native iOS apps, I chose Flutter for my own product. Here's why the decision was driven by product constraints, AI-assisted development, and long-term trade-offs rather than framework preference.
Software Engineering
After building production apps with Firebase and now building a new product on Supabase, I've realized the conversation isn't about which platform is better. It's about understanding the trade-offs, the type of product you're building, and how much backend complexity you actually need.
Software Engineering
Most AI coding failures aren't caused by poor prompts. They're caused by unclear requirements, missing constraints, and weak specifications. Here's what I've learned from using AI-assisted development in real projects.
Software Engineering
Spec-Driven Development isn't new, but AI has exposed something many teams already knew: good implementations usually start with clear requirements. Here's why specifications, constraints, and acceptance criteria matter more than ever.
iOS
Every WWDC brings new frameworks and capabilities. What I'm hoping for this year is a little different: better tools for the parts of software development that consume the most time in real projects.
Software Engineering
I recently got pulled into a project that was technically “finished.” The app worked, the flows worked, and the subscriptions worked. But the founder still didn’t feel safe releasing it, and honestly… I understood why almost immediately. The app had been built pretty quickly by a couple of junior