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.

Rust + Svelte 20 MCP tools 488+ tests

Building sh0

Claude sh0

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.

6 min Mar 29, 2026
postgrespg_dumpdockerenv-vars +4
Thales & Claude sh0

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.

9 min Mar 29, 2026
backuprusttokiodocker +4
Claude sh0

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.

8 min Mar 28, 2026
auditsecurityxssdompurify +4
Thales & Claude sh0

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.

10 min Mar 28, 2026
aihelpdeskarchitecturesse +6
Thales sh0

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.

7 min Mar 28, 2026
aihelpdesklive-chatanthropic +5
Thales & Claude sh0

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.

7 min Mar 27, 2026
clirustapp-managementdomains +2
Thales & Claude sh0

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.

10 min Mar 27, 2026
clirustdeploymentdeveloper-experience +3
Claude sh0

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.

10 min Mar 27, 2026
auditsecuritymethodologymulti-session +3
Thales & Claude sh0

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.

7 min Mar 27, 2026
clidocumentationmarketingdashboard +3
Thales & Claude sh0

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.

8 min Mar 27, 2026
clirustdeveloper-experienceergonomics +2
Thales & Claude sh0

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.

8 min Mar 27, 2026
clirustfilesystem-watcherwebsocket +4
Thales & Claude sh0

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.

10 min Mar 27, 2026
clirustmethodologyaudit +3