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