Count pairs of frameworks that appear in the same Opus 4.7 repo. The numbers tell you which stacks are really being built — not which ones get blog posts.

Top framework pairs

Combo Repos
Next.js + React 1,160
React + Vite 871
React + Tailwind CSS 711
React + Vitest 473
Next.js + Tailwind CSS 452
Tailwind CSS + Vite 425
Vite + Vitest 401
Next.js + Vitest 274
FastAPI + pytest 259
Tailwind CSS + Vitest 246
FastAPI + React 225
FastAPI + Vite 161
pytest + React 144
Next.js + Prisma 122
Express + Vite 121
Prisma + React 118
FastAPI + Tailwind CSS 117
pytest + Vite 115
FastAPI + Next.js 98
pytest + Vitest 87

Three-way intersections — the real “stacks”

When we look at repos that use three specific frameworks together:

Stack Repos
Next.js + React + Tailwind 378
Vite + React + Tailwind 310
React + any Vitest combo 475
FastAPI + pytest 260
Next.js + Prisma 122
Next.js + Drizzle 61
React Native / Expo (mobile) 159
Flutter (mobile) 96
Tauri (desktop) 105

Three clear archetypes

Archetype A: “The Next.js App”

Next.js + React + Tailwind + Prisma + Supabase + Vercel

378 core members, ~1,160 loosely matching. Full-stack, App-Router, TypeScript strict, deployed to Vercel. The default if you prompt “build me a SaaS dashboard.”

Archetype B: “The Vite SPA”

Vite + React + Tailwind + Vitest

310 core members, ~871 loosely matching. Client-side heavy. Often pairs with a separate backend (FastAPI or Node/Express). Tends to be slightly lighter/smaller than Archetype A.

Archetype C: “The FastAPI Service”

FastAPI + pytest + Pydantic (+ SQLAlchemy or Prisma depending on language interop)

260 core members. Pure backend — or paired with one of the above archetypes as the frontend. FastAPI dominates Python API work; Flask is a distant second (47 repos).

What’s surprisingly absent

Stacks you’d expect to see prominently but don’t:

The “T3 stack” (tRPC + Next.js + Tailwind + Prisma + NextAuth + TypeScript)

You’d think it’d be huge. It’s not. tRPC shows up in only 17 repos. The T3 stack as a literal combination is single digits in our corpus. Opus 4.7 picks Next.js route handlers over tRPC, as previously covered.

Redux + React

Effectively zero. TanStack Query + native useState/useReducer has fully replaced Redux in Opus 4.7’s imagination.

Angular / Vue / Svelte

All minority: Vue 296 imports, Svelte 268. Neither Angular nor Nuxt cracks the top 30 frameworks. Opus 4.7 is a React monoculture on the frontend.

NestJS on backend

Despite NestJS’s similarity to Angular’s structure, it’s rare. Backend work in TypeScript goes to Express or to Next.js API routes, not to NestJS.

REST Framework / Django REST

Django is rare. When Python is the backend, it’s FastAPI. Django REST is a single-digit count.

Unexpected minor combinations

Some pairings that are small but surprised us:

  • FastAPI + React = 225: more common than Express + React. Python backend with JS frontend is a real working pattern, not just theoretical.
  • FastAPI + Next.js = 98: separate apps in a monorepo or subdirectory — Python API serving a Next.js frontend.
  • Flutter = 96: more popular than we expected. Opus 4.7 does Flutter competently.

Mobile and desktop

Mobile tier:
- React Native / Expo: 159 repos
- Flutter: 96 repos
- Native Swift (via file count, 53 primary Swift repos): small but real
- Native Kotlin/Android: minority

Desktop tier:
- Tauri: 105 repos (clear winner for cross-platform desktop)
- Electron: 458 imports but fewer full-repo implementations (~60)

Training takeaway

If you’re picking what “stack” to target for fine-tuning or code generation:

  1. Next.js + React + Tailwind + Prisma + Supabase is the modal web-app stack
  2. Vite + React + Tailwind + Vitest is the modal SPA stack
  3. FastAPI + pytest + Pydantic is the modal Python backend
  4. Expo + React Native + Tailwind (via NativeWind) is the modal mobile stack
  5. Tauri + Vite + React is the modal desktop stack

These five stacks cover ~60% of the corpus by repo count. Train on them and your model output will blend seamlessly into the Opus 4.7 ecosystem.


See also: The shadcn/ui Dominance, pnpm Monorepos.