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
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.
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 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.
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.
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.
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.
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.
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.
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.