Waldi: A Go-Powered Blogging Platform That Rejects Engagement Metrics
Waldi is a multi-tenant blogging platform built with Go and Postgres that guarantees every post an audience and replaces public comments with private letters, all while avoiding the usual engagement bait.

Waldi is a new open-source blogging platform that takes a deliberate stand against the metrics-driven design of modern social media. Built as a single Go binary with a Postgres backend, it serves server-rendered pages using Go's html/template and a single Tiptap editor island. The project is live at waldi.blog, where reading is open to everyone and writing is currently by invitation.
Multi-Tenancy Without Per-Tenant Deployments
Waldi's architecture is notably lean. Every request goes through a central ServeHTTP that checks the Host header to determine which blog to serve. It first tries a cheap subdomain match (e.g., username.<base-domain>), then falls back to a cached lookup of custom domains in Postgres. This means the same binary serves every blog — no per-tenant deployments to manage, and session cookies are scoped to carry login across subdomains but not custom domains.
No Comments, No Like Counts, No Leaderboards
The platform's core loop is deliberately anti-viral: publish, a hundred strangers read it, and a follow or a private letter comes back. There are no public comments, no like counts, and no leaderboards. Replies are private letters, and every post is guaranteed a floor of readers before any algorithm gets to judge it. The idea is that new writers never publish into silence, and readers get a finishable day — a handful of posts from writers they follow, one surprise from a stranger, and then they're done.
Architecture and Stack
The codebase is organized into clear layers: internal/web for HTTP routing and handlers, internal/store for all SQL queries (wrapping a *pgxpool.Pool), and internal/post for pure domain logic around the Tiptap document model — JSON schema validation, sanitized HTML rendering, and image URL fixups. The frontend is minimal: server-rendered templates in web/templates/*.html, hand-written CSS, and the Tiptap editor bundled with esbuild. Postgres stores the Tiptap document as a jsonb column, with pre-rendered and sanitized HTML served at read time.
Infrastructure uses PostgreSQL, Cloudflare R2 for image storage (with WebP conversion on upload), Caddy for TLS and custom domains, and Docker Compose on a single VM for deployment. A Telegram bot serves as the admin panel — there's no web-based admin interface.
Self-Hosting and i18n
Waldi is MIT-licensed and self-hosting is documented in DEPLOY.md, though the author notes that self-hosted instances are their own quiet islands — the guaranteed-readers loop only works as well as the readers your instance has. The platform is bilingual by construction, with translation strings in flat JSON catalogs embedded into the binary. Templates are shared across languages, and per-request language resolution checks the user's stored locale, a cookie, the CF-IPCountry header, and finally defaults to Persian.
For engineers tired of the engagement-maximizing treadmill, Waldi offers a refreshingly different take on what a blogging platform can be — one where the writing and the reading are the point, not the metrics.
Source: GitHub
Discussion
0 Comments
Be the first to start the discussion.