Claude Code's DIY-Heavy Tech Stack Picks
Claude Code prefers custom/DIY solutions in 12/20 tooling categories but defaults to Vercel (100% JS deploys), Stripe (91% payments), Shadcn (90% UI), GitHub Actions (94% CI/CD), revealing AI's influence on new dev stacks.
AI Recommendations Shape Emerging Stacks
Claude Code, Anthropic's coding agent, acts as a gatekeeper for tech choices in new projects. When prompted to "add a database" or "host my app," it doesn't just suggest—it installs packages, configures connections, and commits code. A study by Amplifying tested Sonnet 3.5, Opus 3.5, and Opus 4 across four project types (Next.js invoice tracker, Vite React app, FastAPI data pipeline, Node CLI) in 20 categories like deployment, databases, and payments. Prompts were open-ended, with no tool names provided, run three times per model per project.
Key insight: Context drives picks more than phrasing. The same category yields different results across repos (e.g., JS vs. Python), but stays 76% consistent within a project across phrasings. Response time signals approach—fast picks (32s for deployment) favor tools; slow ones (245s for auth) lean DIY. All Anthropic models agreed on top tools in 18/20 categories within ecosystems.
"Cloud code is a new gatekeeper. ... The tool it picks is the tool it ships." – Amplifying study intro, highlighting how AI choices create a distribution channel rivaling marketing.
DIY Dominance in Complex Features
Claude builds custom solutions over third-party tools in 12/20 categories, accounting for 12% of picks (252/273 total). DIY tops if counted as a tool. Rates vary:
- Feature flags: 70% DIY (env vars + framework primitives, ignoring LaunchDarkly).
- Auth: 100% DIY in Python; 50% overall.
- Observability: 22%.
- Email: 22% (despite Resend's popularity; speaker warns against rolling your own SMTP).
- Realtime: 21%.
- Forms: 20% (React hooks + validation).
- Caching: 19%.
- Styling: 17%.
- File storage: 12%.
Claude itself uses GrowthBook for flags (post-Statsig acquisition by OpenAI), showing devs override AI. Speaker notes irony: Anthropic doesn't follow Claude's advice.
"Please do not roll your own SMTP integrations. It is hell. Use any of the services." – Theo, emphasizing risks of DIY email after seeing 22% rate.
Monopoly Tools and Default Stack
When not DIY-ing, Claude converges on a stack:
| Category | Top Pick | Share |
|---|---|---|
| CI/CD | GitHub Actions | 94% |
| Payments | Stripe | 91% |
| UI Components | Shadcn/UI | 90% |
| Deployment (JS) | Vercel | 100% |
| Styling | Tailwind | 68% |
| State Mgmt | Zustand | 68% |
| Database | Postgres | 58% |
| Package Mgr | PNPM | 56% |
| Forms | React Hook Form | 52% |
| Observability | Sentry | 48% |
| Resend | 46% | |
| Testing (JS) | Vitest | 43% |
Stack-specific: Drizzle (TS DB), SQLModel (Python ORM), NextAuth (auth, despite rebrand to Auth.js). Python favors FastAPI, AWS S3 (32% file storage), Pytest (26%). Deployment splits: Vercel (JS), Railway (Python, 82%). Alternatives like Netlify (67 mentions), Render (50), Fly (35) trail primaries.
Zustand overtook Redux (22M vs. 21.5M weekly installs). TanStack Query lags at 40%, despite utility for server state.
"Zustand is much more popular than I ever thought it would be. Still really cool to see." – Theo, celebrating Zustand's rise matching Tailwind's popularity.
Tradeoffs and Speaker's Alternatives
Postgres leads DBs (58%) but scales poorly without expertise; speaker prefers SQLite (no scale worries), MySQL+Vitess (PlanetScale), or Convex (deep integration). Supabase (24%) criticized for state in DB (permissions, migrations via MCP).
Vercel dominates JS deploys (free tier, scalable); Railway impresses for Python (cheap, 15k daily users) despite no full free tier. GitHub Actions monopolizes CI but frustrates with slowness—speaker switched to Depot (10x faster runners, local runs sans push, agent-friendly).
UI: Shadcn over Radix/Mantine. State: Zustand (client), TanStack Query (server). Email: Resend/Loops over DIY. File uploads: Speaker's Uploadthing benchmark shows smarter models recommend it more (e.g., Claude 3.5+ consistent).
Hallucinations persist: Claude falsely claimed PlanetScale shutdown (Jan 2025). Study limits: Can't distinguish quality from training data frequency; Claude cautious (asks questions on flags/jobs).
"If you're not having to worry about scale, SQLite's a pretty good option. If you are, MySQL is still the undefeated GOAT." – Theo, on DB choices over Postgres.
Vendor Implications in Building Block Era
AI favors primitives agents build on (Mitchell Heisen's thesis: libraries like LibGhosty drive adoption over apps). Vendors must be obvious winners or primitives. GitHub Actions/Vercel win via ecosystem lock-in; others invisible.
"The most effective way to build software ... is ... building blocks that enable and encourage others to build quantity over quality." – Mitchell Heisen (via Theo), tying to Ghosty/Liby success.
Key Takeaways
- Test AI recommendations against your stack's context—JS gets Vercel 100%, Python Railway 82%.
- Expect DIY for auth/flags (50-100%); use Resend/Stripe/Sentry to avoid reinventing.
- GitHub Actions (94%) and Stripe (91%) are safe bets; Depot for faster CI.
- Postgres (58%) fine for starters, but plan scaling—consider Convex/MySQL.
- Tailwind (68%) + Shadcn (90%) + Zustand (68%) form JS frontend default.
- Benchmark your tools' AI visibility (e.g., Uploadthing rises with model intelligence).
- Override AI: Claude DIYs features it doesn't use itself (GrowthBook flags).
- Watch response time: Slow = higher DIY risk.
- For vendors: Become primitives or dominate primaries.
- Free tiers matter: Vercel/Railway edge out pricier options.