Blog

Notes from the platform

Self-hosting, Docker Swarm, and the boring plumbing of shipping apps to your own hardware.

Build log2026-06-30· 4 min read

I built my own Vercel in a month — here's the architecture

Building a self-hosted PaaS solo: the two-half control-plane/pipeline architecture, the NFS design I got wrong first, and every feature I said no to on purpose.

Read →
Tutorial2026-06-28· 4 min read

Deploy a FastAPI + React app to your homelab

A concrete walkthrough: the .paas/app.yaml manifest for a full-stack Python+Node app, build vs predeploy, build-time env traps, push-to-deploy, and adding a worker later.

Read →
Opinion2026-06-26· 4 min read

You don't need Kubernetes to self-host your apps

The push-a-repo-get-a-URL loop most people want doesn't require Kubernetes. Why Docker Swarm plus a thin PaaS layer is the right amount of machinery for a homelab.

Read →
Guide2026-06-25· 4 min read

Migrating a Next.js app off Vercel, the honest version

The two genuinely fiddly parts of moving Next.js to your own hardware — the Dockerfile and the apex domain — plus the build-env, pnpm, and email traps that bite everyone.

Read →
Guide2026-06-24· 5 min read

Self-hosting a PaaS on your Docker Swarm

What a self-hosted PaaS actually is, why Docker Swarm is a sane base for one, and what you get over hand-rolling compose, Traefik and a registry yourself.

Read →
Comparison2026-06-20· 4 min read

An open-source Vercel alternative for your own hardware

Vercel's developer experience is genuinely good. Here's what you keep and what you give up when you self-host that git-push-to-URL loop on your own metal.

Read →
Comparison2026-06-17· 5 min read

The self-hosted version of the Heroku workflow

Procfiles, dynos, config vars, Scheduler and the Redis add-on — mapped onto a self-hosted PaaS you run on your own Docker Swarm.

Read →
Feature2026-06-13· 5 min read

Push-to-deploy, without the CI yak-shave

Connect a repo once, push, and it builds an image and ships it — or deploys only after your CI goes green. How the pipeline works, with live logs and rollback.

Read →
Feature2026-06-11· 5 min read

Background workers and cron from the same repo

Declare always-on workers, scheduled jobs and a per-app Redis bus in one manifest, off one image — with run history, a Run-now button and no catch-up storms.

Read →
Feature2026-06-09· 4 min read

Custom domains and automatic HTTPS, the boring way

Point a record, a certificate appears, it renews itself, you forget about it. Platform subdomains via Traefik and custom domains via Cloudflare for SaaS.

Read →
Engineering2026-06-06· 4 min read

Why we build each app into its own image, off NFS

We tried serving app code over NFS. It bit us. Here's the rewrite to per-app container images and an internal registry — and why it removed more code than it added.

Read →
Essay2026-06-03· 4 min read

A homelab that pays rent

Most homelab hardware sits mostly idle. Closing the gap between 'I have servers' and 'I can ship to them like a small cloud' — so a new idea costs almost no friction.

Read →