
Claude Code's favorite tech stack
Audio Summary
AI Summary
The video explores the recommendations made by AI coding assistants, specifically focusing on Claude Code, and how these recommendations can shape developer choices and even market share. The presenter highlights a concerning instance where Claude Code hallucinated that Planet Scale had shut down its service, deeming it unsafe and a significant failure. This leads into a discussion of a survey conducted by Amplifying, which analyzed Claude Code's tool selections for various development tasks.
The core finding of the Amplifying study is that AI agents often prefer to "build instead of buy." In 12 out of 20 categories, Claude Code frequently built custom solutions rather than recommending third-party tools. Custom and DIY implementations accounted for 252 out of 273 primary picks, making it the most common recommendation. This suggests a shift towards developers relying on AI to create bespoke solutions rather than integrating existing tools.
Despite the DIY preference, the study identified a "default stack" that AI agents converge on when selecting third-party tools. This includes Vercel, PostgreSQL, Stripe, Tailwind, Shadcn UI, pnpm, GitHub Actions, Sentry, Resend, and Zustand. Specific to certain ecosystems, Drizzle is picked for TypeScript databases, SQLModel for Python ORMs, NextAuth for authentication, and Vitest or Pytest for JavaScript and Python testing. Interestingly, NextAuth is noted as being outdated, with the current recommendation being "OJS."
The study also revealed that certain categories are "locked down" by specific tools. GitHub Actions dominates CI/CD at 94%, Stripe leads payments at 91.4%, and Shadcn UI holds 90% of UI component recommendations. Models showed high agreement (90%) within ecosystems, picking the same top tools in 18 out of 20 categories. Disagreements primarily occurred in caching and real-time categories, or were artifacts of mixing JavaScript and Python results. Context was found to be more influential than phrasing, with recommendations remaining stable across different prompt phrasings for a given project but varying across different project types.
The survey tested three Anthropic models: Sonnet 45, Opus 45, and Opus 46. The presenter notes that GPT models were not included in this specific study.
Delving deeper into the DIY trend, the presenter highlights that when asked to add feature flags, Claude Code would build a custom system using environment variables and framework primitives, rather than recommending a tool like LaunchDarkly. This is contrasted with the fact that Claude Code itself uses GrowthBook for feature flags, demonstrating a disconnect between the AI's recommendations and the practices of its developers. The presenter also points out that for Python authentication, a DIY solution was used 100% of the time. However, for authentication in general, DIY was only used about half the time. Observability and email saw lower DIY rates (22%), with a strong caution against building custom SMTP integrations. Real-time, forms, caching, styling, and file storage also showed varying degrees of DIY preference.
The presenter emphasizes the importance of this trend for tool vendors. If AI agents become the primary discovery channel for new tools, and they prefer building over buying, vendors must either become foundational primitives for AI to build upon or offer overwhelmingly superior solutions. This is echoed by Mitchell, creator of Terraform and HashiCorp, who discusses the "building block economy" where libraries enabling others to build gain massive adoption.
The tool rankings revealed a near monopoly for GitHub Actions (94%) and Stripe (91.4%), with Shadcn UI close behind (90%). Vercel dominated JavaScript deployments (100%), while Tailwind and Zustand showed surprising popularity, with Zustand even surpassing Redux in weekly installs. The presenter expresses astonishment at Zustand's rise, noting its popularity has flipped quickly from being considered a niche alternative to Redux. Sentry is recognized as a leading bug tracking solution, particularly for mobile. Resend is recommended for email, with a strong warning against building custom solutions. Vitest is praised for TypeScript testing, and PostgreSQL is the main database pick, though the presenter offers nuanced opinions on its scalability compared to SQLite and MySQL. pnpm is favored over npm for package management, and React Hook Form is highlighted as a leading form library. Tanstack Query's relatively lower ranking is seen as a missed opportunity.
On the Python side, FastAPI is a strong contender, while AWS S3 is competitive for file storage, though its ranking is surprisingly low. Next.js API routes and PiTest also appear. Railway is noted for its deployment recommendations, particularly for Python projects, and its surprisingly low cost. The presenter expresses a strong dislike for AWS Amplify, based on past experience. Netlify is significantly more recommended than Fly.io or Cloudflare Pages for deployment alternatives.
In styling, Tailwind is dominant, followed by custom DIY and CSS Modules. For state management, Zustand is popular for client-side state, while Tanstack Query is preferred for server-side data fetching. Sentry sweeps observability, and Resend leads in email. Vitest dominates testing, with Pytest also performing well. PostgreSQL remains the top database choice, though the presenter voices concerns about Supabase's architecture and the management of state within the database itself. pnpm is the preferred package manager, with a strong recommendation against npm and Yarn.
The competitive landscape for authentication is highlighted, with custom DIY being a strong contender, followed by NextAuth and Supabase Auth. The presenter expresses a desire to build their own authentication service due to frustrations with existing solutions. Redis leads in caching, with Vercel's built-in cache also being significant, especially for Next.js applications. FastAPI and Next.js API routes are key for the API layer, with Tanstack Query being heavily recommended for React projects.
A significant portion of the discussion revolves around file storage, with the presenter's own product, UploadThing, being tested. The study indicated that as models become smarter, they are more likely to recommend UploadThing. The presenter acknowledges the cost of running these benchmarks and the current unprofitability of UploadThing, despite its development effort.
In ORM and database tools, SQLModel and Drizzle lead for Python and JavaScript respectively, with Prisma also being a strong contender. Background jobs see BMQ, Ingest, and Celery recommended, with a surprise at the absence of Trigger. Feature flags heavily favor custom DIY, with LaunchDarkly and PostHog following. Real-time solutions are diverse, with no clear winner.
A model comparison reveals shifts in recommendations between different Anthropic model versions. GitHub Actions saw a significant drop, while PostgreSQL and pnpm remained consistently popular. Resend's recommendations plummeted, and Zustand reached 100% with Opus 46. Newer models, like Opus, appear more willing to adopt newer tools and build custom solutions compared to older models like Sonnet.
The comparison with Codex shows agreement on DIY recommendations but divergence on specific tools. For scheduled tasks, Codex prefers OS-level cron, while Claude Code suggests Vercel's implementation. Codex favors Node.js for JS runtime, while Claude Code picks Bun, a recommendation the presenter strongly refutes due to Next.js compatibility issues with Bun. For edge and serverless, Codex prefers Cloudflare Workers, and Claude Code favors Vercel Edge, which the presenter considers outdated. The presenter notes that Claude Code may have hardcoded Statig out due to its acquisition by OpenAI, as it is not recommended by Claude Code but is by Codex.
The presenter criticizes Claude Code's Bun recommendation for Next.js 14, stating that Next.js is not compatible with Bun's runtime. They argue that Claude Code's responses can feel like a "word cloud and a vibe" rather than precise instructions, leading to incorrect recommendations like suggesting package managers when asked about runtimes. OpenAI's models, in contrast, are seen as following instructions more literally, providing more accurate and detailed responses, including specific advice on Node.js versions and the benefits of Turbopack.
The presenter also touches on image optimization, noting the difficulties in setup for tools like Bunny CDN and the improved cost-effectiveness of Next.js Image with Vercel. They express frustration with the lack of clear recommendations for headless CMSs, suggesting that DIY alternatives are often viable. Cloudflare is more frequently recommended by Codex for API rate limiting and protection than by Claude Code.
Emerging companies like Doppler, Upstash, Axiom, and Melee Search are noted as cross-agent picks. Firebase Cloud Messaging is frequently mentioned but not a personal favorite. The presenter concludes by discussing Simon Willis's article on "perhaps not boring technology after all," which suggests that LLMs can indeed recommend and work with newer, less common tools if provided with sufficient documentation and context. The presenter shares their own customized Claude MD file, which steers the AI towards their preferred technologies like TypeScript, Tailwind, pnpm, Bun, React, Convex, Clerk, and Vercel, demonstrating how developers can influence AI recommendations. The overall sentiment is one of cautious optimism regarding the evolving capabilities of AI coding assistants, with the presenter encouraging viewers to share their thoughts on whether these advancements make them more or less fearful.