I Built an App to Fix My Hair-Pulling Habit (Not Fixed Yet)
The real problem with trichotillomania is that you don't notice your hand going up — so I built Don't Touch, a webcam app that catches the moment.
Hello
Developer & Entrepreneur
I solve problems with code and share my experiences through writing.
Explore my worldThe real problem with trichotillomania is that you don't notice your hand going up — so I built Don't Touch, a webcam app that catches the moment.
A breathalyzer, a friend, and a fine for every missed reading kept me sober once. Now I'm building it properly: a sobriety app that donates your stake if you fail.
It started with a library book and became an AI pipeline that can't miss a crisis signal. My hardest question building HealFrame isn't technical — it's about legitimacy.
AI sourcing assistant SaaS I built while preparing my own sourcing business. Analyzes Alibaba/1688 product screenshots with AI to calculate margins, assess risks, and auto-generate supplier messages. Solo full-stack development across web, desktop, and Chrome extension with Stripe billing, Shopify integration, and 5-language support.
A mental health SaaS I designed around Judith Herman's three-stage trauma recovery model. I built AI-guided journaling with a Gemini-powered crisis-detection safety pipeline (GREEN/AMBER/RED) — deliberately fail-closed on input and fail-open on output, validated by an LLM-judge eval harness with zero tolerance for missed crisis cases — plus peer support circles, Stripe billing, and an Android build via Capacitor, solo full-stack across web and mobile.
A real-time OSINT situational-awareness web app styled as an intelligence watch floor. I aggregated 10+ live public feeds (USGS, OpenSky ADS-B, CISA KEV, NASA, GDELT, CelesTrak…) through a config-driven feed registry with server-side caching, and visualized them across four views, including a Three.js 3D globe, a cyber-vulnerability board, and satellite/orbital tracking.
An open-source, bilingual (EN/ES) web app that estimates which rent law protects an LA renter — City RSO, AB 1482, LA County RSTPO, or just-cause — from their address, plus the current legal increase cap and a rent-increase legality checker. With no public RSO-registry API to lean on, I designed an 'honest estimator' over live LA County Assessor and US Census open data (cross-verified against the county roll), with a four-regime rules engine that leans protective at every ambiguous boundary and degrades to 'pending — confirm with LAHD' rather than ever being confidently wrong. Locked by 222 tests; a profiled indexed-query fallback cut lookups from 13–55s to ~1s. PageSpeed 100/100/100/100, WCAG AA in light and dark.
An Electron command-deck desktop app for developers who manage many projects with Claude Code. It scans git repos under configured folders and surfaces git/session state, staleness badges, and token-cost estimates as cards; 'Open' spawns `claude -r <session>`. I treated Electron security as a first-class concern (contextIsolation, sandbox, argv-not-string-interpolation against command injection) and backed it with 132 tests and a Playwright + axe e2e gate.