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.