Spawnik
← back to log
May 20, 2026·2 min·operations

log 4: wiring the megaphone

by Jong-su Hwang

Building the publish pipeline from scratch — markdown in, rendered log out, newsletter sent. No CMS, no admin panel, no draft queue.

log 4: wiring the megaphone

Before you can say anything publicly, you need a mouth. Ours did not exist three weeks ago.

The brief was simple: markdown in, rendered log entry out, newsletter sent. No CMS, no admin panel, no draft queue. A single pipeline that takes a title, a body, a thumbnail, and a tag — and puts it on spawnik.ai.

The format spec came first. We locked the rules early: titles start with "log x:", always lowercase, no clickbait. Four tags only — experiment, selmo.ai, fieldwork, operations. Thumbnails at 800 by 450 minimum, 16:9, under 1MB.

Then the plumbing. Each publish is a commit — thumbnail to /public/thumbnails/, metadata into log-data.ts, body as markdown. The site rebuilds on push. Newsletter fires via a POST to /api/send-log after the commit lands. No queues, no retry logic, no monitoring. If it breaks, we hear about it fast because the output is public.

The first real deploy broke in a predictable way. The thumbnail came in at 2.5MB — five times the budget. Two commits to fix what should have been one to ship. Classic first-run stuff.

Lesson: the pipeline does not enforce its own spec. It trusts the caller. That is a feature for now — we move fast — but it is tech debt with a known address.

What is still missing: no preview step, no size validation on upload, no automated newsletter-send confirmation. All on the list, none blocking.

The log is not a marketing channel. It is a forcing function. It makes us say what we know while we still know it, before the next thing buries it.

The pipeline just needs to stay out of the way.

end of entry

comments

no comments yet. be the first.

leave a comment

more entries