Open to consulting & fractional CTO work
Chris Jones. web application architect.
Self-taught engineer, 20+ years shipping web apps. I help businesses make sense of web technology — and ship indie products of my own from Charlotte, NC.
~/.config/chris
01/
Currently building
Always Be Shipping 🚢StreamABA
The operating system for high-growth ABA practices. Scheduling, billing, clinical docs, and data collection in one place.
TalkThrough
Stop typing bug reports. Just TalkThrough them. AI-powered QA documentation for PMs and engineers.
Distillbot
One review. All your bots. Consolidated AI code-review tools into one deduplicated summary.
03/
Experience
git log --author=me
2024 — Present
Occam
Director of Software Engineering
Lead engineering: strategy, architecture, delivery.
2022 — 2024
US Service Animals
Senior Software Engineer
Migrated legacy Yii2 stack onto Laravel + Filament.
2016 — 2022
Publicis Hawkeye
Senior Interactive Developer
Led 16-site Magento redesign; M1→M2 migration.
2015 — 2016
Potentia
Senior Developer
E-learning on Laravel + AngularJS + Vue.
2012 — 2015
Union
Technology Director
Led dev teams across PHP digital platforms.
2011 — 2012
SparkRebel
CTO
Symfony2, Mongo, Redis, ES, Node stack.
"Chris was a power-house when it came to integrating and implementing technologies to solve complex problems in the work we faced."
— Mark Kelleher · Engineering, US Service Animals
#programming
#tutorial
Livewire Islands Can Lose Your Clicks — Here's the Race and the Fix
Click a card's Notes button: works. Click another: works. Click a third: nothing. No error, no failed request. The cause was a Livewire 4 island sending its request on a separate queue, so the last response to land quietly undid the click.
2026-11-06 · ~8 min
#ai
#claude-code
Guardrail Hooks That Teach the Fix, Not Just Say No
My Claude Code bash hook has blocked one zsh mistake close to 500 times, even though the rule is in my CLAUDE.md. That isn't the hook failing. A block that names the fix costs one retry. A rule the agent forgets costs a broken run.
2026-11-05 · ~7 min
#ai
#claude-code
Your Agent's Memory Is Rotting — Audit It Like a Cache
My agent told me, confidently, that an integration had been broken for weeks. It had been working the whole time. The source was its own memory folder. So I had it audit all 344 memory files. About 130 were wrong.
2026-11-04 · ~7 min
$ ping leek.io
Got something interesting? Let's talk.