Decision frameworks
Status: 🟩 COMPLETE Last updated: 2026-06-21 Plain-English tagline: “When to use X vs Y.” Short, opinionated guides for the recurring choices in modern webapp building — with a clear default and the conditions that change it.
What these are
A decision framework is a structured way to answer a recurring “which one?” question. It gives you:
- A short answer — the default for most cases
- The factors that matter — what would push you toward the alternative
- Specific “when to pick X / when to pick Y” sections
- What if you’ve already chosen — migration paths if you change your mind
The textbook entries cover what each option is. The decision frameworks cover which to reach for. Together they answer “what is it?” and “should I use it?”
The frameworks
| Choice | When it comes up |
|---|---|
| Server Component vs Client Component 🟩 | Every Next.js file you write |
| Merge vs rebase vs squash 🟩 | Every PR merge, every “I want to clean up my branch” |
| RLS vs server-side checks 🟩 | Every Supabase table that touches user data |
| Custom auth vs Supabase Auth 🟩 | Every new project’s auth decision |
| Free tier vs paid tier 🟩 🟦 | Vercel, Supabase, GitHub, every service with tiered pricing |
| TypeScript strict vs loose 🟩 | Every new TypeScript project’s tsconfig.json |
| Tailwind vs CSS-in-JS vs plain CSS 🟩 | Every new React/Next.js project’s styling architecture |
| When to write tests (and when not to) 🟩 | Every “should I unit-test this?” moment |
| When to refactor (and when to leave it alone) 🟩 | Every “this code bothers me” moment |
| Client-side fetch vs Server Actions 🟩 | Every Next.js mutation flow |
| Self-host vs SaaS 🟩 | Every infrastructure decision in the stack |
| Monorepo vs polyrepo 🟩 | Every “should I split this repo?” moment |
| Claude vs ChatGPT vs Gemini 🟩 🟦 | Choosing your primary AI assistant |
| Cursor vs Claude Code vs Windsurf 🟩 🟦 | Choosing your AI coding tool |
| AWS vs Azure vs GCP for AI 🟩 🟦 | Choosing a cloud for AI workloads |
| Western vs Chinese AI 🟩 🟦 | Why the encyclopedia recommends against Chinese AI tools |
| Paid AI subscriptions worth it? 🟩 🟦 | Free vs paid AI decision framework |
| Image vs video vs music AI 🟩 🟦 | Choosing the right creative AI medium |
| AI for small business 🟩 🟦 | Practical AI toolkit for Australian small business |
| AI for families 🟩 🟦 | AI at home; kids; ages; safety; what’s worth using |
| Local vs Cloud AI 🟩 🟦 | When to run AI on your own computer; hardware needs |
| AI for accessibility 🟩 🟦 | AI tools for disability; vision, hearing, mobility, cognitive |
| AI for content creators 🟩 🟦 | YouTube, podcasts, social media AI toolkit |
| AI for students 🟩 🟦 | Using AI to learn, not cheat; academic integrity |
| AI for writers 🟩 🟦 | Fiction, journalism, professional writing; ethics |
| AI for older adults 🟩 🟦 | Genuinely helpful tools for older Australians; scam awareness |
| AI for travel planning 🟩 🟦 | Real help vs marketing hype; what to verify |
| AI for mental wellness 🟩 🟦 | Honest framework; helps and risks; crisis support |
| AI for cooking 🟩 🟦 | Recipes, meal planning, kitchen help |
| AI for educators 🟩 🟦 | Teachers’ practical AI toolkit; student AI issues |
| AI for tradespeople 🟩 🟦 | Practical AI for trades businesses |
| AI for real estate 🟩 🟦 | Agents, investors, buyers, renters; Australian property context |
| AI for Australian mining 🟩 🟦 | World-leading AI deployment; autonomous trucks/trains/drilling |
| AI for Australian agriculture 🟩 🟦 | Precision agriculture; livestock; AgTech ecosystem |
| AI for non-profits 🟩 🟦 | Free/discounted tools; grant writing; ACNC context |
| AI for new immigrants to Australia 🟩 🟦 | Settlement; translation; navigating systems |
| AI for fitness 🟩 🟦 | Wearables; workout apps; nutrition; Australian fitness companies |
| AI for journalism 🟩 🟦 | News, ethics, MEAA, defamation, transcription, verification |
| AI for marketers 🟩 🟦 | Content, campaigns, brand voice, Australian Consumer Law |
| AI for HR professionals 🟩 🟦 | People & culture, recruitment AI, Fair Work, anti-discrimination |
| AI for hospitality 🟩 🟦 | Restaurants, hotels, tourism, multilingual, Australian context |
| AI for healthcare practitioners 🟩 🟦 | Unified clinical framework; AHPRA, TGA, indemnity |
| AI for accountants 🟩 🟦 | Tax, bookkeeping, Xero/MYOB AI, TASA, CPA/CAANZ |
| AI for lawyers 🟩 🟦 | Unified Australian legal practice; citation discipline; privilege |
| AI for government workers 🟩 🟦 | APS, state, local; security, privacy, Robodebt lessons |
| counsellors 🟩 🟦 | APS Code, AHPRA, ACA, ethics, sensitive practice |
| AI for retail 🟩 🟦 | E-commerce, physical retail, ACL compliance |
This folder now covers the recurring choices that come up across the Next.js + Supabase + Vercel stack. Future entries land here only when genuinely new recurring choices surface in real work.
How to use these
Read once for the mental model. Most of the value is the structure for thinking, not the specific recommendation. Once you know what factors matter, you can apply them to new situations.
Re-read when you face the choice. The defaults are the right call for most cases, but the “when to pick X” lists catch the cases where the default is wrong.
Don’t be afraid to change your mind. Every framework has a “what if I’ve already chosen?” section. Migration paths exist; you’re not locked in.
What’s NOT a decision framework
Some choices look like they need a framework but really don’t:
- “What language should I use for my Next.js project?” — TypeScript. (No serious tradeoff for the typical case.)
- “Should I use Git?” — Yes. (See What is version control? 🟩.)
- “Should I run
npm run buildbefore pushing?” — Yes. (The playbook quality bar, not a framework.)
A decision framework exists when the right answer genuinely depends on your situation. If the answer is the same for ~everyone, it’s a recommendation, not a framework.
See also
- Reading paths — guided journeys through related entries
- Cheat sheets — quick command references
- Common errors — paste-and-fix references
- Gotchas & tips — surprises that cross sections