I shipped a 20-feature DevOps tool solo in 60 days using Claude Code β the unfiltered breakdown
Current Situation Analysis
Self-hosted infrastructure monitoring has fractured into a high-friction stack: Uptime Kuma for uptime, Portainer/Dozzle for containers, cron scripts for TLS rotation, Grafana for metrics, and Notion for status pages. Sysadmins and solo developers pay a severe context-switching tax, juggling five dashboards, five databases, and five alerting layers that never converge. The cognitive overhead of correlating container state, recent logs, HTTP health, certificate expiry, and CPU consumption across disjoint tools outweighs the marginal quality gains of specialist software.
Traditional solo development hits a hard bandwidth wall. Frontend frameworks (Vue 3 + TypeScript + Tailwind), complex scaffolding (MCP servers, OAuth2 PKCE, OSV.dev CVE scanning), and architectural refactoring consume disproportionate time. LLM-augmented development promises acceleration but introduces hidden costs: constant verification fatigue, scope drift, premature debugging assumptions, and strategic misalignment. Without disciplined prompt framing, custom skill encoding, and spec-driven workflows, AI coding accelerates architectural decay and generates plausible but non-existent feature claims. The code itself becomes the easiest part; the bottleneck shifts to workflow discipline, verification rigor, and constraint management.
WOW Moment: Key Findings
| Approach | Build Cycle | Feature Density | Refactoring Overhead |
|---|---|---|---|
| Traditional Solo | 6β8 months | 5β8 core features | 3+ weeks (high regression risk, manual test coverage) |
| Claude Code-Augmented | 60 days | 20 integrated features | 4 days (zero production regressions, automated coverage patterns) |
Key Findings:
- Frontend Acceleration: Vue 3/TS/Tailwind component development dropped from 2β3 weeks to 2β3 days by offloading framework convention cognitive load to Claude while retaining architectural control.
- Scaffolding Velocity: Blank-file-to-working-draft for complex modules (MCP/OAuth2, OCI manifest parsing, CVE risk scoring) compressed from 2β5 days to an afternoon.
- Refactoring Safety: A 600-line
main.gowith circular dependencies andinterface{}event buses was restructured into typed events, App container extraction, and DI patterns in 4 days using a customgo-refactoringskill. - Verification Cost: Hallucination rate was low (2 incidents over 263 commits), but scope drift/misunderstood requests dominated (56 incidents). Verification overhead remains constant and does not decrease with usage.
- Sweet Spot: LLM-augmented development excels when paired with strict constraint prompting, spec-driven task breakdowns, and custom skil
l libraries that encode team/product conventions.
Core Solution
Architecture & Runtime
- Single Go binary, ~17 MB RAM at idle, zero external dependencies (no Postgres, Redis, or message queues).
- SQLite with WAL mode for persistent state; Vue 3 + TypeScript + Tailwind frontend embedded via
embed.FS. - One Docker image, one process, zero orchestration overhead.
Observation Layer (Read-Only Principle)
- Auto-discovers Docker, Swarm, and Kubernetes workloads.
- Monitors HTTP/TCP endpoints, cron heartbeats, TLS certificates, resource usage, and image update availability.
- Scans for dangerous network configurations: exposed database ports,
0.0.0.0bindings, privileged containers. - Strict
observe, never actcontract: no restarts, pulls, or mutations. Read-only access ensures security, simplifies the trust model, and reduces blast radius.
AI-Augmented Development Workflow
- Custom Claude Skills:
go-refactoring(typed events, DI, test coverage patterns),mobile-first-audit(Vue/Tailwind conventions),linkedin-post-generator(tone/style enforcement),linkedin-lead-capture,linkedin-trend-research. - Spec-Driven Development: GitHub Spec Kit workflow enforces
need β plan β atomic tasksbreakdown before any code generation. Prevents output scattering and forces architectural alignment. - Prompt Discipline: Explicit constraint injection per task (
"you touch X, you do not modify Y, and you don't factor out anything that wasn't explicitly requested"). Debug prompts mandate reproduction before correction. - Business & Licensing: AGPL-3.0 open-core model, Pro tier at β¬29/month. Ed25519-signed license keys delivered via environment variables. Marketing site built on Hugo + PocketBase handling Stripe checkout and verification.
Pitfall Guide
- Unbounded Scope Drift: LLMs default to over-engineering and adding unrequested abstractions. Fix: Inject explicit boundary constraints at the start of every task (
"modify X, never factor out Y"). - Feature Hallucination & Verification Fatigue: AI generates plausible but non-existent features (e.g., Telegram/Gotify alerts). Fix: Mandatory README/codebase verification for every output; treat verification cost as constant, not diminishing.
- Premature Root Cause Diagnosis: LLMs jump to fixes without reproducing bugs or reading logs. Fix: Enforce
"reproduce concretely, read logs, test request before proposing correction"in all debug prompts. - Strategic Misalignment: LLMs optimize for technical feasibility, not market positioning (e.g., exploring SaaS when target audience demands self-hosted data sovereignty). Fix: Frame business constraints and architectural non-negotiables before technical exploration.
- Custom Skill Maintenance Overhead: Skills encode conventions but require versioning and upkeep alongside the product. Fix: Treat skills as living code; store them in version control, update them during refactors, and audit them quarterly.
- Spec-Driven Discipline Requirement: Without structured breakdowns, AI outputs scatter across unrelated files and patterns. Fix: Adopt GitHub Spec Kit workflow; never prompt without a completed need β plan β atomic task breakdown.
Deliverables
- Blueprint:
maintenant-architecture-v2.pdfβ System diagram showing Go binary runtime, SQLite WAL storage,embed.FSfrontend injection, K8s/Docker auto-discovery pipeline, and MCP/OAuth2 integration flow. - Checklist:
llm-dev-verification-checklist.mdβ Pre-prompt constraint validation, scope boundary confirmation, reproduction-before-fix enforcement, and post-generation README/codebase cross-reference steps. - Configuration Templates:
.claude/skills/directory withgo-refactoring.md,mobile-first-audit.md, and constraint-prompt templatesspec-kit-task-breakdown.yamlβ GitHub Spec Kit compatible task structure for atomic feature deliverygo-embed-fs-scaffold/β Minimal Go project template demonstratingembed.FSfrontend integration, SQLite WAL initialization, and read-only monitoring contract enforcement
