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:
- Next.js + React + Tailwind + Prisma + Supabase is the modal web-app stack
- Vite + React + Tailwind + Vitest is the modal SPA stack
- FastAPI + pytest + Pydantic is the modal Python backend
- Expo + React Native + Tailwind (via NativeWind) is the modal mobile stack
- 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.