How this site runs
Agent → commit → preview → approval → live
This site is a proof-of-build. The content lives in a git repo. An autonomous agent on the DGX Spark drafts markdown, commits to a branch, and opens a pull request. Vercel deploys a preview. I review and merge from my phone. No CMS, no WYSIWYG — just git and markdown.
Pipeline
┌─────────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐
│ DGX Spark │────►│ Git PR │────►│ Vercel │────►│ Review │
│ (agent) │ │ (draft) │ │ preview │ │ & merge │
└─────────────┘ └──────────┘ └─────────┘ └──────────┘
│ │
│ ┌──────────┐ │
└─────────────►│ /lab │◄─────────────────────────┘
│ telemetry│
└──────────┘Components
- DGX Spark — runs the publishing agent and local LLM for drafting
- Git repo — Astro site, markdown content collections, this is the CMS
- Vercel — static site generation + serverless API for lab status proxy
- Tailscale — DGX is never exposed to the public internet; Vercel polls via secure tunnel
Lab status API
The live widget on the homepage and /lab pulls from/api/lab-status, a serverless function that proxies a status endpoint on the DGX Spark. Set LAB_STATUS_URL in Vercel environment variables to point at your Tailscale-proxied endpoint.
Transparency choices
Posts carry a byline — Niran — not an AI/human split. The pipeline story lives here, for readers who opt in. Authorship metadata exists in frontmatter for my own records but isn't rendered on posts.