react-brain
Browse decisions
React & language foundations 3App architecture 9UI 12Platform & native 9Build, test, observe, secure 6AI in React apps 3stack composerdecision recordscensusstaleness bencharchitecturechangelogmethodologyroadmap

Calibration scorecard

Every recommend.default in the corpus is a dated, falsifiable prediction with a check-by horizon (shorter for fast-moving, low-confidence domains). Adversarial challenges and live npm signals resolve them: held = 1.0 · weakened = 0.5 · overturned = 0.0, scored per confidence tier. This is the page that keeps the word “confidence” honest — an assertion becomes a measurement.

Score by confidence tier

tierpredictionsresolvedheldweakenedoverturnedscore
high11633075%
medium19303050%
low12101050% (early — n=1)

Reading the numbers: 0 of 10 graded predictions have been overturned — every “weakened” verdict means the default survived an adversarial challenge but gained a real caveat, and it's deliberately scored harshly at 0.5. A modest score in the low tier is calibration working: low confidence predicts churn — the tiers earning their ordering (high above low) is the claim this page tests. Tiers marked early have too few grades to read as a trend.

Resolved predictions

react-core weakenedhigh asserted 2026-06-25 · resolved 2026-06-25

“Stay on React 19.2 and turn on React Compiler 1.0 for new code — let it handle memoization; keep existing useMemo/useCallback as escape hatches (don't strip them — removing can change the compiler's o…”

↳ don't strip useMemo when enabling Compiler; re-verify 19.2

state heldhigh asserted 2026-06-17 · resolved 2026-06-25

“Split the problem: TanStack Query for server state + Zustand for client/UI state. This is the common, low-regret 2026 pairing.”

↳ nothing overtook Zustand; local-first builds ON Query

data heldhigh asserted 2026-06-17 · resolved 2026-06-25

“TanStack Query for REST/server-state caching — the default for client-side data fetching.”

↳ TanStack Query still #1; RSC complements; Zero 1.0

nav weakenedmedium asserted 2026-06-25 · resolved 2026-07-09

“React Native → Expo Router if you're on Expo, else React Navigation. Web → use the meta-framework's router (see RB-E-META-FRAMEWORKS), or TanStack Router for a type-safe SPA.”

↳ TanStack holds type-safe-SPA axis (RR typegen framework-mode-only); but RR8 8.2.0, 50M/wk, absent from when-clauses

meta-frameworks weakenedmedium asserted 2026-06-25 · resolved 2026-07-09

“Web: Next.js is the safe default; choose TanStack Start when you want a less-opinionated, Vite-native RSC stack. RN/universal: Expo Router.”

↳ Next default holds (Start still RC, RSC experimental; 60x dl spike = Lovable CI); default line oversells Start as RSC stack + no-backport patch policy missing

styling weakenedmedium asserted 2026-06-25 · resolved 2026-07-09

“Web: Tailwind (pair with shadcn/ui — RB-E-COMPONENT-LIBS). React Native: NativeWind if you want Tailwind, else StyleSheet/Unistyles. Prefer zero-runtime/compiler approaches on both.”

↳ challenge: s-c v7 prerelease active but still runtime (advice holds); NativeWind TW4 skew caveat; dead react-native-tailwind pkg row fixed

lists weakenedhigh asserted 2026-06-25 · resolved 2026-07-09

“RN: FlashList for large lists, FlatList otherwise, ScrollView only for <20 static items. Web: react-virtual / react-window.”

↳ challenge: held vs TanStack-2.9x + Legend-v3 attacks; caveat added — FlashList v2 is New-Arch-only

native weakenedhigh asserted 2026-06-25 · resolved 2026-06-25

“Target the New Architecture (mandatory ≥ RN 0.82). Reach for Expo Modules for most native needs; use Nitro Modules for performance-critical custom native.”

↳ Nitro pre-1.0 (pin); Turbo Modules stay in-core stable; bridge removed 0.85

media weakenedlow asserted 2026-06-25 · resolved 2026-07-09

“Camera → VisionCamera (frame processors) or expo-camera (managed); video calling → LiveKit (open-source) or a hosted SDK (Daily/Agora/Stream); real-time filters → process VisionCamera frames + GPU-com…”

↳ challenge: v5 pin ahead of reality — 85% installs on frozen v4, open iOS26/race crashes; ship-now camera caveat added

build heldhigh asserted 2026-06-25 · resolved 2026-06-25

“Web: Vite 8 (Rolldown). React Native: Metro (+ Hermes V1, precompiled iOS binaries). Monorepo: pnpm workspaces + Turborepo. Expo for managed velocity.”

↳ Vite 8 stable + Rolldown GA; napi pullback hits compiler path only

Ledger: append-only tools/predictions.jsonl — 42 predictions to date. Unresolved ones aren't shown as wins; the score only counts what has actually been re-examined.