Clean up AI-generated codebases
Refactor vibe-coded sprawl into something you can ship and maintain.
You let an agent generate half a project and now it half-works, half-compiles, half-tests. I do a forensic pass: kill the half-done stubs, replace hardcode with config, separate domain from infra, add real tests instead of // TODO: test, and bring the architecture back to something a human can extend.
What you get
- Inventory: TODO/FIXME/XXX/HACK/NotImplemented/stub/panic("todo") — kill or implement.
- Hardcoded URLs / IPs / secrets / magic numbers → env, config, named constants.
- Demo / mock data ripped out of prod paths, moved to fixtures / seeds / factories.
- Architecture re-aligned to clean layers: handler ≤15 lines → service → repo, typed DTOs.
- Real tests (unit + integration + golden + regression) — not test files full of assert true.
- Security pass: SQL/SSRF/XSS, exposed admin routes, weak auth, secrets in repo history.
Stack
- Refactoring
- Tests
- Security audit
- Architecture review
- CI/CD
Process
Email or a 20-min intro call → written proposal → contract → ship.