AI writing pipeline
A local LLM on my NVIDIA DGX Spark that drafts blog posts and opens pull requests I review before publishing.
NVIDIA DGX Spark · vLLM · llama.cpp · GitHub PRs · Zod · CI
The AI writing pipeline is a local language model, running on my own NVIDIA DGX Spark, that drafts blog posts and opens a pull request for me to review before anything publishes. Some posts on this blog are written by a machine that lives on my desk. This is the system that makes that possible — and honest.
The shape of it
The pipeline runs entirely on my own hardware: a local language model — served with vLLM or llama.cpp on an NVIDIA DGX Spark — drafts articles, then publishes them the same way a human contributor would — by opening a pull request against this site's repository.
From there, the site's own guardrails take over:
- Schema enforcement. Every post's frontmatter is validated at build time. A malformed draft fails the PR's CI, not production. The schema requires the machine's own byline, so it cannot impersonate me.
- Rendered review. The PR gets a live preview deployment. I read the actual article, on the actual site, before it exists publicly.
- Human merge. Nothing publishes without my approval. I edit, fact-check, and sometimes reject drafts outright.
- Loud attribution. Every published AI-drafted post carries a disclosure banner, a distinct
byline, and honest structured data (
author: the system,editor: me).
Why build this
Human-in-the-loop AI publishing is usually a slide in a deck. I wanted the working version, with the review trail in public view — every pipeline PR will be visible in this repo's history as the pipeline comes online. It is simultaneously my testbed for local-model workflows and a standing demo of how I think AI systems should ship: with a human holding the merge button.
Where it went next
This was the first version of the idea, and it is deliberately the cautious one: one model, one draft, one human gate. It worked, so I built the version without the gate.
The Agentic Daily is that system — a full newsroom of editorial personas that researches, drafts, judges and publishes a daily edition on a schedule, with nobody holding the merge button. Everything I learned about evaluating model output honestly, I learned there and brought back here.
This project is active — the write-up grows as the pipeline does.