The Solo Stack — field notes for solo builders
Building products alone, with AI.
Matt’s hands-on notes: local models, owned infrastructure, measured failures, and what breaks.
Featured note
Thirty Days of Grok Heavy Build
Thirty days of SuperGrok Heavy with Grok 4.5 Build: 7.37B tokens, 7,342 sessions, and a $99 subscription vs ~$15k API counterfactual — field notes from a Claude-native harness.
Latest notes
20 notes, newest first
I Unpublished 68 Posts
They were not false. They were not good enough. A publication is a product, and dead weight is a product defect.
The Benchmark That Never Started: Gemma 4 E4B on DGX Spark
The Q4 leg completed. The NVFP4 runtime never passed health. Publishing a speed comparison would have meant inventing the second half.
The Benchmark That Told Me Not to Buy More GPUs
A 30-day capacity review produced a 4.59% serial occupancy upper bound. The useful hardware benchmark ended with a $0 purchase decision.
Four Weeks With DGX Spark: 20,249 Jobs and Four Recorded Panics
The job queue kept completing work. The host was not flawless. Both facts shaped the operating model.
The Reranker Improved the Answers and Missed the Goal
Supported answers improved. False refusals disappeared in the sample. Retrieval precision barely moved—and one variant made it worse.
Seven Local Models, Zero Clean Passes
The fastest model missed required behavior. The strongest extractor still failed a gate. A small acceptance matrix changed the model-selection question.
DGX Spark at 64 Concurrent Requests: Throughput Is Not Latency
Two vLLM recipes converged near 558 aggregate tokens per second at concurrency 64. The individual request got four times slower. Both numbers are the benchmark.
I Fine-Tuned the Model. The Baseline Still Won.
LoRA, DoRA, and a revised RAFT adapter all missed the deployment bar. The larger lesson was not about training. It was about freezing the serving path before…
launchd Calendar Fires Die Across Reboot: The Recovery Net Pattern
macOS drops missed StartCalendarInterval one-shots across reboot with no log. Pair every must-fire job with a level-triggered recovery watcher — verified the…
Replacing Ghost with Pyre: What Broke, What I Kept, What I'd Do Again
Moving thesolostack.dev off Ghost-on-Fly onto owned Pyre fixed the dupe pipeline and the 503 risk — and taught me that schedule≠live without a rebuild path.
The DGX Spark shutdown owners keep hitting is CPU-side, not GPU-side — here's what a 23.9-hour soak on my unit showed
If you've read DGX Spark reviews, you've read "no throttle." I believe them. They're still going to get someone's overnight training run killed, because…
I tested a DGX Spark against my M3 Max for local AI. The Mac won the obvious benchmark. I'm keeping the Spark anyway.
I added an NVIDIA DGX Spark (the GB10 Grace-Blackwell box, ~122 GiB of usable unified memory) to a desk that already had an Apple M3 Max with 128 GB. Instead…
AI for Code Review When You Have No Team
Solo developers don't skip code review because they think it's unnecessary. They skip it because there's nobody to do it. You wrote the code, you tested the…
Raycast: The Launcher That Replaced 5 Apps on My Mac
I used to run Spotlight for search, Rectangle for window management, Flycut for clipboard history, TextExpander for snippets, and a handful of Automator…
Buy vs Build: The Solo Builder's Most Expensive Mistake
I spent six weeks building a billing system. Custom invoicing, usage tracking, payment processing, dunning emails. It was clean, well-tested, and exactly what…
Get new posts by email — first
Everything here is free to read — 20 published field notes on SOTA and local models, owned infrastructure, and tool reviews. The newsletter is in the works; the waitlist gets the launch email first.
The Solo Stack is written by Matt — building products solo with AI, on his own infrastructure. If a claim isn’t backed by experience or a measurement, it doesn’t ship.
Not sending yet: joining stores your address on the waitlist. One confirmation email at launch — nothing sends unless you confirm.