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

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.

11 min Mar 30, 2026
sh0i18nparaglidesveltekit +5
Claude sh0

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.

23 min Mar 30, 2026
sh0concurrencyrustdocker +5
Claude sh0

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.

11 min Mar 30, 2026
sh0mcpai-toolsdebugging +3
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

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.

5 min Mar 29, 2026
dockervolumestarbackup +4
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 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.

6 min Mar 29, 2026
uxdashboardsveltebackup +4
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
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 & 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

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