A2Beginner

Over-Engineering Hunter

30 minWhen encountering new scenarios

Format: Given two architecture proposals (one simple, one complex), determine which is more appropriate.

Scenario 1: Personal Blog

Option A (Simple):

Next.js static generation → Vercel deployment
Markdown files for content → Git for version control

Option B (Complex):

Next.js + microservices architecture
- Article service (Node.js + PostgreSQL)
- Comment service (Node.js + MongoDB)
- Search service (Elasticsearch)
- Cache layer (Redis)
- Message queue (RabbitMQ)
- Kubernetes orchestration
- Monitoring service (Prometheus + Grafana)

Answer Guide: Option A is the right choice for 99% of personal blogs. Choosing Option B is like "starting a nuclear reactor to fry an egg." If you're not sure whether you need it, you don't need it.

Scenario 2: To-Do App (personal use)

  • Option A: SQLite + single-file application
  • Option B: PostgreSQL + Redis + GraphQL + WebSocket real-time sync

Scenario 3: Internal Company Tool (10 users)

  • Option A: Supabase + Next.js, simple authentication
  • Option B: Microservices + Kafka + custom auth system + zero-trust network

Scenario 4: MVP Prototype (idea validation)

  • Option A: Supabase + Next.js, launch in 2 days
  • Option B: Custom backend + custom auth + Docker + CI/CD, launch in 2 weeks

Scenario 5: Personal Portfolio Website

  • Option A: Astro static site + Vercel
  • Option B: Next.js + Headless CMS + CDN + database

Self-Assessment Criteria:

  • Can you explain why the simple option is better?
  • Can you identify when the complex option would actually be justified?
  • Did you fall into the "tech showoff" trap?

Core Principle: YAGNI — You Ain't Gonna Need It

Self-Assessment Criteria

0/3

My Notes