sh0
Self-hosted deployment. Single binary. Zero complexity.
A deployment platform in a single Rust binary (~2MB). Git push deployments, automatic SSL, built-in AI chat with 20 MCP tools, database management, browser terminal, and multi-server orchestration.
Building sh0
The UI That Looked Complete
The backup dashboard had modals, CronBuilder, 3-step wizards, and a schedule table. Everything looked finished. Nothing worked. Here is what we fixed.
Docker Volumes Are Not Host Paths
Volume backup failed because we tried to tar a path on the host filesystem. Docker volumes live inside containers -- here is how the Docker archive API fixes it.
From Docs Chatbot to Live Support Agent
How we turned sh0's existing AI docs assistant into a public helpdesk widget with 9 files, zero new infrastructure, and the same SSE streaming pipeline.
Why I Built My Own AI Helpdesk Instead of Paying for One
Why I built an AI-powered live chat widget for sh0.dev instead of paying $50/month for Intercom -- and how it costs $0.002 per conversation.
Two Critical Bugs in a Public AI Widget
How two independent audit sessions found an XSS vulnerability and a billing bypass in a public-facing AI helpdesk widget -- and why the builder missed both.
Documentation as Product
How we documented 30 CLI commands across a marketing page, dashboard page, and 4 doc pages in 5 languages -- treating documentation as a product feature, not an afterthought.
From 10 Commands to 30: The Developer Ergonomics Sprint
How we added sh0 init, link, open, and config -- four commands that make the sh0 CLI feel like a native part of the developer's workflow, not an afterthought.
App Lifecycle From the Terminal
How we built sh0 restart, stop, start, delete, and domains -- five CLI commands for managing application lifecycle with safety-first confirmation patterns.
The Auditor Caught What the Builder Missed
How independent AI audit sessions found 5 Critical, 12 Important, and 19 Minor issues in 3,200 lines of Rust CLI code -- and why the builder never would have caught them.
One Command to Deploy: How We Built sh0 push
How we built sh0 push -- a single command that detects your stack, packages files, uploads, builds, and returns a live URL in under 40 seconds.
Watch Mode and WebSocket Streaming
How we built sh0 watch for auto-deploy on file changes and upgraded build log streaming from HTTP polling to WebSocket -- with graceful fallback.
16 Commands in One Day: The Complete CLI Story
How we built 16 CLI commands, 2 server endpoints, and a WebSocket streaming system -- audited through 6 independent sessions -- in a single day of AI-assisted development.