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 · local LLMs · GitHub PRs · Zod · CI
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 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.
This project is active — the write-up grows as the pipeline does.