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
From Blank Page to Docker Hub: How We Shipped 11 Features in One Session
One AI CTO session: CSP fix, self-update system, Docker Hub publishing, systemd auto-setup, uninstall command, 15-screenshot carousel, GeoIP analytics dashboard, and install script overhaul. Here's how we did it.
31 Bugs in Our Stack Detector: How We Audited the System That Builds Every Deploy
sh0's stack detector had 31 bugs -- from a Next.js project misdetected as Bun to a Laravel config that cached an empty APP_KEY. We fixed 28 in one session and learned why generated Dockerfiles are harder than handwritten ones.
The AI Stream That Never Drops: How We Made 5-Minute Generations Survive Network Failures
How we redesigned sh0's AI gateway so that 65,000-token generations survive client disconnects, browser crashes, and proxy timeouts. Nothing is ever lost.
Double Dogfooding: We Built a Language, Built Its Website With It, Then Hosted It on Our Own PaaS
ZeroSuite built FLIN (programming language), built flin.sh with it, then deployed it on sh0 (their own PaaS). Three layers of dogfooding, six bugs found, zero remaining.
The Deploy That Broke Itself: How 2 Simultaneous Deploys Exposed 8 Concurrency Bugs
Two simultaneous deploys crashed sh0's pipeline. We found 8 concurrency bugs across 3 audit rounds. Here's everything we learned about async Rust, Docker race conditions, and why AI auditors catch what AI builders miss.
Why Our Deploy Logs Were Lying to Us (And How We Fixed It for cPanel Developers)
How we went from 'Docker build failed' to Easypanel-quality deploy logs, fixed nginx for non-root containers, and taught sh0 to deploy bare PHP files.
31,000 Translations in One Session: How We Made sh0.dev Speak 5 Languages with 40 AI Agents
We translated our entire 120-page SvelteKit website into 5 languages in a single Claude Code session using 40 parallel agents. Here's the architecture, the failures, and the methodology.
SH0.DEV MCP: When Your AI Has 30 Tools But Can Only See 15
How we discovered half our AI's tools were invisible, why it happened, and the MCP-first architecture that fixed it permanently.
The Backup Engine That Never Backed Up
We built a complete backup engine with 13 storage providers and AES-256 encryption. Then we clicked "Backup Now" and nothing happened. Here is everything that was broken.
When pg_dump Cannot Find Your Database
pg_dump failed with "database flin-postgres does not exist" because the backup engine used the app name instead of POSTGRES_DB. Here is the env var decryption pipeline that fixed it.
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.