PinnedJoel Ugwa·Dec 3, 20255 Years, 4 Stacks, and the Silence in BetweenI’ve spent half a decade building with Flutter, React, Node, and Go. It’s time to talk about the messy, complex reality of production…A response icon1A response icon1
Joel Ugwa·Nov 7Shipping Agents Safely: What Designing a Finance Agent Taught MeMost of what I learned shipping AI features was about guarding a model’s output: validating what it returns, handling failure, keeping…A response icon1A response icon1
Joel Ugwa·Mar 30Shipping AI to Production: What I Learned Building FundPilot and Aura DriveI shipped two AI-powered features to production in the last 4 months. One is live with real users. One goes live this week. Neither is a…
Joel Ugwa·Mar 20The JWT Race Condition That Logged Users Out RandomlyIt wasn’t a bad token. It was two good requests arriving at the wrong time.A response icon1A response icon1
Joel Ugwa·Feb 1The Bug I Couldn’t Reproduce — Until I Stopped Testing on My Own PhoneThree weeks ago, I started getting messages from users of an app we shipped last year.A response icon1A response icon1
Joel Ugwa·Jan 43 Backend Security Mistakes Automated Scanners Won’t Find.Why auth ≠ permission, and how logic bugs quietly break real systems
Joel Ugwa·Dec 21, 2025The Difference Between a Junior and Senior Code Review (It’s Not About Syntax)Early in my career, I treated code reviews like a checklist.A response icon1A response icon1
Joel Ugwa·Dec 11, 2025Stop Using useEffect to Manage State. Do This Instead.There was a period in my React journey where I genuinely believed that useEffect was the heart of everything.
Joel Ugwa·Dec 9, 2025The Math Behind the Magic: How Offline 2FA Really WorksThe Math Behind the Magic: How Offline 2FA Really WorksA response icon1A response icon1
Joel Ugwa·Dec 6, 2025The “Async Gap” Killer: Fixing Flutter’s Most Common Production CrashWe’ve all been there.A response icon1A response icon1