A personal AI development studio

Gruntwork.ai

The studio

A personal space for exploring how AI changes the way software gets built (and what to do when it doesn't).

I work here on three pillars. Compound Engineering is the practice of building systems that grow more valuable with use (each pattern documented makes the next project faster; each deployment teaches the infrastructure something new). The clearest reference implementation is Every's compound-engineering plugin (the playbook the rest of us are learning from).

pAIrallel programming is the systematic side of working with AI (multiple agents running in parallel sessions, coordinated rather than paired one-to-one). The 80% comes fast; the last mile is where most teams lose hours to debugging loops, confident-but-wrong suggestions, and analysis paralysis. The workflows and tools I build recognize those patterns and escalate intelligently.

LastMileFirst is the binding philosophy (build the delivery infrastructure before the product). Most teams develop AI capabilities and then discover the integration challenges; this inverts that order. The lastmilefirst plugin is the working artifact, and the essay What If We Built the Last Mile First? lays out the case.

The three pillars compound. Every debugging session feeds the pattern library. Every pattern reused makes future sessions shorter. The studio gets sharper over time, not noisier.

Experiments

Six places where the three pillars meet real code.

Personal projects where I test how systems grow more valuable over time. Some are deployed and in daily use; some are scaffolds I revisit when a new pattern surfaces.

Multi-tenant SaaS

ReMail

A multi-tenant email infrastructure experiment. Each new tenant tightens the patterns. Each feature reinforces the library. Each deployment teaches the IaC something new about scaling.

What sparked it

My partner got involved in city politics and wanted robust mailto links to help residents contact their council. A simple need that became a perfect test case for multi-tenant infrastructure.

FastAPIReactPostgreSQLAWS ECSTerraform
Static analysis

Griffith

A Plugin Observatory for Claude Code (a static analyzer that evaluates plugins before installation). Each audit teaches the rule catalog something new: false positives get refined into tighter AST rules, new plugin shapes get captured as binding test snapshots.

What sparked it

The Claude Code plugin ecosystem launched without quality signals. npm has download counts and vulnerability scanning; VS Code extensions have ratings and verified publishers; Claude plugins had GitHub stars only. Named after the Griffith Observatory in Los Angeles.

Python 3.11+PoetryClickASTpytestosv-scanner
Prompt engineering

Promptasaurus.ai

An AI-powered prompt improvement suite that transforms basic prompts into professional-grade instructions. Features Fossil Fills (a Mad Libs–style template system) for systematic prompt engineering and multi-LLM comparison tools.

What sparked it

We were creating a recurring set of stories for my son (same characters, different adventures) and realized we were not using the same prompts. Now we have a template and structure for excellent prompting. Look for "The Adventures of Thunder and Pip" coming soon.

ReactTypeScriptFastAPISQLAlchemyAWS ECSDockerTerraform
This studio

Gruntwork.ai

The site you are reading. A living example of the three pillars in practice. Each iteration improves the infrastructure patterns. Each content update teaches the system about better documentation.

What sparked it

A personal studio for exploring AI-empowered development on my own time. A 2026-04 migration from AWS to Cloudflare taught me about secret-handling surfaces (and reduced the studio's attack surface to roughly zero).

HTML5CSS3JavaScriptCloudflare PagesFormspree
Monitoring

SSL Watchdog

A monitoring tool that gets smarter over time. Each certificate observed teaches the system about a different provider. Each alert fired refines the notification rules. Each deployment makes future monitoring setups faster.

What sparked it

I kept forgetting to renew SSL certificates and wanted a system that would learn from my forgetfulness to become more proactive.

PythonFastAPIRedisWebSockets
Collaborative tools

Takesmanship

A collaborative decision-making tool that compounds in intelligence. Each decision made improves the recommendation engine. Each interaction teaches the system about decision patterns and friction.

What sparked it

Working with teams that struggled with decision paralysis. I wanted to build tools that compound decision-making intelligence through usage, not just record it.

Next.jsTypeScriptPrismaVercel

Method

How the studio compounds.

Three tools and the PARC loop. The tools are the what (artifacts that grow with use). PARC — Plan, Allocate, Review, Compound — is the how (the sequence that keeps them growing).

Circuit Breaker

An intervention system that watches for runaway debugging. Each loop it interrupts teaches it new failure patterns; each successful escalation makes the next one faster and more accurate.

Pattern Press

An AI-powered pattern library. Each pattern added makes every future project faster. Each usage logs whether the pattern fit, which teaches the system about better combinations.

Expert Personas

Specialized AI assistants scoped to a domain (security, infra, frontend). Each interaction sharpens the persona; each escalation refines when to call which one.

The PARC loop · Plan · Allocate · Review · Compound

P

Plan

Decompose the problem, scope the work, define what "done" looks like. The plan is the artifact the rest of the loop runs against — and the first thing the pattern library reuses next time.

A

Allocate

Distribute the work across parallel AI sessions, expert personas, and human review points. The allocation decision is itself a pattern that compounds — the studio learns which shapes of work go to which agents.

R

Review

Verify outputs against reality, not just internal consistency. Circuit Breaker watches for runaway loops; human review catches the hallucinations that sound right. Every miss caught becomes a rule.

C

Compound

Capture what worked. Each completed cycle feeds Pattern Press, sharpens Expert Personas, and shortens the next Plan. The studio gets sharper over time, not noisier.

Thinking

The frameworks behind the work.

Long-form essays on how AI capability is actually arriving, why it stalls between demo and production, and the patterns that survive contact with real systems. Published at Outsideshot.

Get in touch

Working on AI-assisted development?

I'm always interested in comparing notes (what's working, what's stuck, what tools you've built). Drop a line and we'll find a time.

I reply as quick as I can.