Seoul, Korea · Building in Public
Joseph
YEO
Solo builder. I run multiple AI-powered products in parallel — local AI automation, supply chain security, iOS apps, and a few long-term experiments currently under wraps.
Most of this only started in the last couple of months. I ship fast, document honestly, and share what actually happens — not the filtered version.
Projects
Local AI coding agent running on M5 Max. Full agentic loop without cloud inference — planning, coding, and review stay on-device.
Supply chain security for teams using AI coding agents. Signal collection, dependency exposure matching, and agent policy bundles.
Currently in stealth. Exploring the intersection of digital trust and provenance metadata. More when the time is right.
Personal color analysis iOS app using Vision Framework. On-device AI, no data leaves the phone.
Everything I'm building is pointing toward something bigger. This is the long game. Not ready to say more yet.
Build Log
Strategy pivot — from product landing page to personal hub
Switched from a standalone DevRadar Guard SaaS landing page to this personal hub (Project Joseph) as the main front door. The product is still the product; the person behind it is now the platform.
DevRadar Guard Alpha shipped — dogfooding begins
Signal Engine running. Bundle Compiler generating real CLAUDE.md, .npmrc, and hooks. Applying to my own repos first before any external users.
The axios incident — why I started building this
Malicious code distributed for ~3 hours. Postinstall ran 2 seconds after install. AI agents had been adding packages without review. That was the moment.
M5 Max local agent loop — first stable run
Full agentic loop running locally. Planning, code generation, review. Benchmark numbers coming in a dev.to post soon.
Running 6+ projects in parallel with AI agents
Two months in. The infrastructure is n8n + Claude Code + local AI. The discipline is harder than the tooling.
Writing
We Didn't Migrate from n8n to Python Because n8n Failed
I Built a Local AI Coding Agent on M5 Max 128GB — It Failed 164 Times Before Passing 35 Tests
The Determinism War: Why We Stopped Chasing Better Models
The Information Design Gap: Why Our AI Agent Was Coding Blind
DCR Wasn't Enough: Why AI Coding Agents Also Need Information Quality
The Bug Wasn't in the Model: Lessons from 9 Local AI Coding Agent Projects
The File Modification Boundary We Found After 12 ForgeFlow Projects
77 Rules Later: What Graduating Our First Stack Actually Looked Like
We Spent Six Sessions Fixing One Task. The Problem Was Six Tasks.
When pytest Said "Passed," It Was Lying
The Gate Fired 198 Times. I Called It "Working."
My Agent Reported 12. The Real Number Was 13.
We Stopped Trusting Models. Then We Stopped Trusting Our Own Numbers.
Connect