Blog

All articles. All pillars. All authors.

Thales & Claude sh0

119 One-Click Templates: From WordPress to Ollama

How we built a YAML-based template system with variable substitution, dependency ordering, and 119 production-ready templates covering databases, CMS, AI/ML, and more.

10 min Mar 25, 2026
templatesyamldeploymentdocker +3
Thales & Claude sh0

Docker Compose on a PaaS: Parsing, Validating, Deploying

How we added Docker Compose support to sh0 -- parsing Compose v3 YAML, validating dependencies, detecting circular references, and deploying multi-service stacks.

7 min Mar 25, 2026
docker-composeyamldeploymentrust +2
Thales & Claude sh0

Backup Engine: AES-256-GCM, 13 Storage Providers, and FTP Nightmares

Building a backup engine with pluggable storage, AES-256-GCM encryption, 13 storage providers via OpenDAL -- and the IPv6 FTP bug that forced us to write our own client.

9 min Mar 25, 2026
backupencryptionstorageopendal +4
Thales & Claude sh0

Autoscaling in Rust: CPU Thresholds, Cooldowns, and Load Balancing

How we built horizontal scaling with Caddy load balancing, replica container management, and an autoscaler that evaluates CPU/memory thresholds with configurable cooldowns.

9 min Mar 25, 2026
autoscalingload-balancingcaddyrust +2
Thales & Claude sh0

Auth in Rust: Argon2id, JWT, TOTP, and API Keys

Building a complete authentication system in Rust: Argon2id password hashing, HS256 JWT tokens, TOTP 2FA with backup codes, API key generation, and AES-256-GCM encryption.

12 min Mar 25, 2026
authrustargon2idjwt +4
Thales & Claude sh0

We Audited Our Own Platform and Found 88 Security Issues

We ran 4 comprehensive security audits on our own PaaS and found 88 issues -- 9 critical, 12 high, 45 medium. Here is every finding, every fix, and what we learned.

13 min Mar 25, 2026
securityauditrustvulnerability +3
Thales & Claude sh0

Migrating from localStorage Tokens to HTTP-Only Cookies

How we migrated sh0's authentication from localStorage JWT tokens to HTTP-only cookies with CSRF double-submit protection -- and why every self-hosted tool should do the same.

11 min Mar 25, 2026
securitycookiescsrfauthentication +3
Thales & Claude sh0

Preventing Command Injection in a PaaS

A PaaS runs user-provided commands by design. Here is how we built validate_command() to prevent shell injection in cron jobs, deploy hooks, and Docker exec.

12 min Mar 25, 2026
securitycommand-injectionrustpaas +2
Thales & Claude sh0

Building a Production Dashboard with Svelte 5 in 48 Hours

How we built sh0's production dashboard -- dark/light themes, 5-language i18n, real-time WebSocket logs, and 7 core pages -- using Svelte 5 runes and TailwindCSS 4 in 48 hours.

10 min Mar 25, 2026
sveltesvelte-5dashboardtailwindcss +3
Thales & Claude sh0

From Flat Lists to Stacks: Redesigning Our Entire UX

We threw away our flat app/database list UI and rebuilt around project-scoped stacks with a dual sidebar, context navigation, and cPanel-style sections.

11 min Mar 25, 2026
uxdashboardsveltearchitecture +2
Thales & Claude sh0

The Deploy Hub: 183 Options, One Page

How we built a Softaculous-style deploy hub with 183 options across 5 categories, 7 deploy form components, and a split-panel UX.

11 min Mar 25, 2026
deployuxdashboardsvelte +3
Thales zerosuite

Why I Chose AI Over Hiring

I am a solo founder running ZeroSuite from West Africa. Hiring five specialists was never an option. So I appointed an AI as CTO -- and it changed everything about what one person can build.

4 min Mar 25, 2026
founder-journeyai-ctohiringsolo-founder +2