juanobrach.dev
Writing

Engineering in the Open

Raw technical breakdowns from building a universe of Micro-SaaS apps. Bugs, architecture decisions, and the stuff nobody writes about.

react-nativeentity-buildersarchitecturereactmonorepodebuggingyarn-workspacesclaude-memcodexmcpagent-memorytooling
claude-memcodexmcp

claude-mem: Persistent Agent Memory Without Black Magic

A practical autopsy of how claude-mem works with Codex, MCP, hooks, local storage, and why enabled config does not always mean a plugin is loaded.

Read article →
spec-driven-developmentopenspecgithub-spec-kit

Spec-Driven Development: Giving an Agent-Powered Repo a Real Memory

A practical guide to OpenSpec, GitHub Spec Kit, and how to organize durable product memory, agent workflows, and code in an AI-assisted monorepo.

Read article →
maestroe2etesting

Maestro + Expo: The Real Gotchas Guide

Mobile E2E testing isn't hard. It's brutally environment-specific. A deep dive into every edge case we hit writing Maestro tests for an Expo app on iOS.

Read article →
react-nativeuxui-architecture

Elevating UX: From Primitive Modals to Modern Bottom Sheets

The standard React Native Modal is holding your app back. Here's why the backdrop-slides-up problem happens and how Gorhom's BottomSheetModal fixes it with decoupled spring physics.

Read article →
reactreact-nativemonorepo

Unraveling the 'Invalid Hook Call' in Monorepos

React's most notorious error, dissected. How a misplaced devDependency in a Yarn Workspace creates two React instances that silently destroy your hook dispatcher.

Read article →
reactdebuggingarchitecture

Anatomy of an 'Invalid Hook Call' in Monorepos: React's Silent Killer

How a devDependency in a shared Yarn Workspace package creates a phantom React instance that silently breaks your hook dispatcher — and the exact fix.

Read article →
JO
Product Engineering AssistantJuan's work, systems, and fit

Hey! Ask me about Juan's case studies, product engineering work, AI/mobile systems, or collaboration fit.