Back to skills

Tech Stack Recommender

Recommend technology stacks based on project requirements, team expertise, and constraints. Use when selecting frameworks, languages, databases, and infrastructure for new projects.

32 stars
0 votes
0 copies
0 views
Added 12/19/2025
data-aijavascripttypescriptpythonrustgojavarubysqlreactvue

Works with

cliapi

Install via CLI

$openskills install alirezarezvani/claude-cto-team
Download Zip
Files
SKILL.md
---
name: tech-stack-recommender
description: Recommend technology stacks based on project requirements, team expertise, and constraints. Use when selecting frameworks, languages, databases, and infrastructure for new projects.
---

# Tech Stack Recommender

Provides structured recommendations for technology stack selection based on project requirements, team constraints, and business goals.

## When to Use

- Starting a new project and need stack recommendations
- Evaluating technology options for specific use cases
- Comparing frameworks or languages for a project
- Assessing team readiness for a technology choice
- Planning technology migrations

## Stack Selection Framework

### Decision Inputs

```
┌───────────────────────────────────────────────────────────────────┐
│                    STACK SELECTION INPUTS                         │
├───────────────────────────────────────────────────────────────────┤
│                                                                   │
│  Project Requirements     Team Factors        Business Constraints│
│  ────────────────────     ────────────        ──────────────────  │
│  • Scale expectations     • Current skills    • Time to market    │
│  • Performance needs      • Learning capacity • Budget            │
│  • Integration points     • Team size         • Hiring market     │
│  • Compliance/Security    • Experience level  • Long-term support │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘
                              │
                              ▼
                    ┌─────────────────┐
                    │ RECOMMENDATION  │
                    │   Framework     │
                    └─────────────────┘
```

---

## Quick Stack Recommendations

### By Project Type

| Project Type | Frontend | Backend | Database | Why |
|--------------|----------|---------|----------|-----|
| **SaaS MVP** | Next.js | Node.js/Express | PostgreSQL | Fast iteration, full-stack JS |
| **E-commerce** | Next.js | Node.js or Python | PostgreSQL + Redis | SEO, caching, transactions |
| **Mobile App** | React Native | Node.js/Python | PostgreSQL | Cross-platform, shared logic |
| **Real-time App** | React | Node.js + WebSocket | PostgreSQL + Redis | Event-driven, low latency |
| **Data Platform** | React | Python/FastAPI | PostgreSQL + ClickHouse | Data processing, analytics |
| **Enterprise** | React | Java/Spring or .NET | PostgreSQL/Oracle | Stability, enterprise support |
| **ML Product** | React | Python/FastAPI | PostgreSQL + Vector DB | ML ecosystem, inference |

### By Team Profile

| Team Profile | Recommended Stack | Avoid |
|--------------|-------------------|-------|
| **Full-stack JS** | Next.js, Node.js, PostgreSQL | Go, Rust (learning curve) |
| **Python Background** | FastAPI, React, PostgreSQL | Heavy frontend frameworks |
| **Enterprise Java** | Spring Boot, React, PostgreSQL | Bleeding-edge tech |
| **Startup (Speed)** | Next.js, Supabase/Firebase | Complex microservices |
| **Scale-Up** | React, Go/Node, PostgreSQL | Monolithic frameworks |

---

## Technology Comparison Tables

### Frontend Frameworks

| Framework | Best For | Learning Curve | Ecosystem | Hiring |
|-----------|----------|----------------|-----------|--------|
| **React** | Complex UIs, SPAs | Medium | Excellent | Easy |
| **Next.js** | Full-stack, SSR, SEO | Medium | Excellent | Easy |
| **Vue.js** | Simpler apps, gradual adoption | Easy | Good | Medium |
| **Svelte** | Performance-critical | Easy | Growing | Hard |
| **Angular** | Enterprise, large teams | Hard | Good | Medium |

#### React vs Vue vs Angular

```
                Speed to MVP    Long-term Maint    Enterprise Ready
React           ████████░░      ████████░░         █████████░
Vue             █████████░      ███████░░          ██████░░░░
Angular         ██████░░░░      █████████░         ██████████
```

### Backend Frameworks

| Framework | Language | Best For | Performance | Ecosystem |
|-----------|----------|----------|-------------|-----------|
| **Express** | Node.js | APIs, real-time | Good | Excellent |
| **Fastify** | Node.js | High-performance APIs | Excellent | Good |
| **FastAPI** | Python | ML APIs, async | Excellent | Good |
| **Django** | Python | Full-featured apps | Good | Excellent |
| **Spring Boot** | Java | Enterprise | Good | Excellent |
| **Go (Gin/Echo)** | Go | High performance | Excellent | Good |
| **Rails** | Ruby | Rapid prototyping | Moderate | Good |
| **NestJS** | TypeScript | Structured Node apps | Good | Good |

#### When to Use What

```markdown
## Node.js (Express/Fastify/NestJS)
✅ Real-time applications (WebSocket)
✅ I/O-heavy workloads
✅ Full-stack JavaScript teams
✅ Microservices
❌ CPU-intensive tasks
❌ Heavy computation

## Python (FastAPI/Django)
✅ ML/Data Science integration
✅ Rapid prototyping
✅ Data processing pipelines
✅ Scientific computing
❌ High-concurrency I/O
❌ Real-time systems

## Go
✅ High-performance services
✅ System programming
✅ Concurrent workloads
✅ Microservices at scale
❌ Rapid prototyping
❌ Complex ORM needs

## Java (Spring Boot)
✅ Enterprise applications
✅ Complex business logic
✅ Transaction-heavy systems
✅ Large teams
❌ Quick MVPs
❌ Small projects
```

### Databases

| Database | Type | Best For | Scale | Complexity |
|----------|------|----------|-------|------------|
| **PostgreSQL** | Relational | General purpose, ACID | High | Medium |
| **MySQL** | Relational | Web apps, read-heavy | High | Low |
| **MongoDB** | Document | Flexible schemas, JSON | High | Low |
| **Redis** | Key-Value | Caching, sessions | Very High | Low |
| **Elasticsearch** | Search | Full-text search | High | Medium |
| **ClickHouse** | Columnar | Analytics, time-series | Very High | Medium |
| **DynamoDB** | Key-Value | Serverless, AWS | Very High | Medium |
| **Cassandra** | Wide-column | Write-heavy, distributed | Very High | High |

#### Database Selection Guide

```
Need ACID transactions?
├── YES → PostgreSQL
│
└── NO → What's your primary use case?
    ├── General purpose → PostgreSQL (still!)
    ├── Document storage → MongoDB
    ├── Caching → Redis
    ├── Search → Elasticsearch
    ├── Analytics → ClickHouse/BigQuery
    ├── Time-series → TimescaleDB/InfluxDB
    └── Key-value at scale → DynamoDB/Cassandra
```

### Infrastructure

| Platform | Best For | Complexity | Cost |
|----------|----------|------------|------|
| **Vercel** | Next.js, frontend | Very Low | $ - $$ |
| **Railway** | Simple deployments | Low | $ - $$ |
| **Render** | General apps | Low | $ - $$ |
| **AWS** | Everything, scale | High | $ - $$$$ |
| **GCP** | ML/Data, Kubernetes | High | $ - $$$$ |
| **Azure** | Enterprise, .NET | High | $ - $$$$ |
| **DigitalOcean** | Simple, affordable | Low | $ |
| **Fly.io** | Edge, global | Medium | $ - $$ |

---

## Stack Templates

### Template 1: Modern SaaS Startup

```
┌──────────────────────────────────────────────────────────────────┐
│                     MODERN SAAS STACK                            │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  FRONTEND          BACKEND            DATABASE                   │
│  ─────────         ───────            ────────                   │
│  Next.js 14        Node.js/Express    PostgreSQL                 │
│  TypeScript        TypeScript         Prisma ORM                 │
│  Tailwind CSS      REST/GraphQL       Redis (cache)              │
│                                                                  │
│  INFRASTRUCTURE    AUTH               PAYMENTS                   │
│  ──────────────    ────               ────────                   │
│  Vercel            Clerk/Auth0        Stripe                     │
│  AWS S3            NextAuth           Stripe Billing             │
│  Cloudflare CDN                                                  │
│                                                                  │
│  MONITORING        CI/CD              ANALYTICS                  │
│  ──────────        ─────              ─────────                  │
│  Sentry            GitHub Actions     PostHog/Amplitude          │
│  Datadog           Vercel Preview     Mixpanel                   │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Best for: B2B SaaS, 0-1M users
Team size: 2-10 engineers
Time to MVP: 4-8 weeks
```

### Template 2: E-Commerce Platform

```
┌──────────────────────────────────────────────────────────────────┐
│                   E-COMMERCE STACK                               │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  FRONTEND          BACKEND            DATABASE                   │
│  ─────────         ───────            ────────                   │
│  Next.js (SSR)     Node.js/Python     PostgreSQL                 │
│  TypeScript        GraphQL/REST       Redis                      │
│  Tailwind/Styled   Medusa/Custom      Elasticsearch              │
│                                                                  │
│  PAYMENTS          SHIPPING           INVENTORY                  │
│  ────────          ────────           ─────────                  │
│  Stripe            ShipStation        Custom/ERP                 │
│  PayPal            EasyPost           Webhook sync               │
│                                                                  │
│  CDN               SEARCH             QUEUE                      │
│  ───               ──────             ─────                      │
│  CloudFront        Algolia/Elastic    SQS/BullMQ                 │
│  Cloudflare        Typesense          Redis                      │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Best for: D2C, Marketplace
Team size: 5-20 engineers
Time to MVP: 8-16 weeks
```

### Template 3: ML-Powered Product

```
┌──────────────────────────────────────────────────────────────────┐
│                    ML PRODUCT STACK                              │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  FRONTEND          API                ML SERVING                 │
│  ─────────         ───                ──────────                 │
│  React/Next.js     FastAPI            TorchServe/Triton          │
│  TypeScript        Python             Docker/K8s                 │
│                    Pydantic           ONNX Runtime               │
│                                                                  │
│  DATABASE          VECTOR DB          FEATURE STORE              │
│  ────────          ─────────          ─────────────              │
│  PostgreSQL        Pinecone           Feast                      │
│  Redis             Weaviate           Redis                      │
│                    pgvector                                      │
│                                                                  │
│  ML OPS            TRAINING           MONITORING                 │
│  ─────             ────────           ──────────                 │
│  MLflow            SageMaker          Weights & Biases           │
│  Airflow           Vertex AI          Prometheus/Grafana         │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Best for: AI products, recommendation systems
Team size: 5-15 engineers + ML team
Time to MVP: 12-24 weeks
```

### Template 4: Real-Time Application

```
┌──────────────────────────────────────────────────────────────────┐
│                   REAL-TIME STACK                                │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  FRONTEND          BACKEND            REAL-TIME                  │
│  ─────────         ───────            ─────────                  │
│  React             Node.js            Socket.io                  │
│  TypeScript        Express/Fastify    WebSocket                  │
│                    TypeScript         Redis Pub/Sub              │
│                                                                  │
│  DATABASE          CACHE              MESSAGE QUEUE              │
│  ────────          ─────              ─────────────              │
│  PostgreSQL        Redis              Redis Streams              │
│  Prisma            In-memory          Kafka (scale)              │
│                                                                  │
│  PRESENCE          STATE SYNC         CONFLICT RESOLUTION        │
│  ────────          ──────────         ───────────────────        │
│  Redis             CRDT/OT            Yjs/Automerge              │
│  Custom            LiveBlocks         Custom                     │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Best for: Chat, collaboration, gaming
Team size: 5-15 engineers
Time to MVP: 8-16 weeks
```

---

## Technology Trade-off Analysis

### Language Selection Matrix

| Factor | JavaScript/TS | Python | Go | Java | Rust |
|--------|--------------|--------|-----|------|------|
| **Learning Curve** | Low | Low | Medium | Medium | High |
| **Ecosystem** | Excellent | Excellent | Good | Excellent | Growing |
| **Performance** | Good | Moderate | Excellent | Good | Excellent |
| **Hiring Pool** | Large | Large | Medium | Large | Small |
| **Type Safety** | TS: Good | Optional | Excellent | Excellent | Excellent |
| **Memory Safety** | GC | GC | GC | GC | Compile-time |

### Framework Selection Criteria

```markdown
## Evaluation Checklist

1. **Team Expertise** (Weight: 30%)
   - Current skills alignment?
   - Learning curve acceptable?
   - Training resources available?

2. **Project Requirements** (Weight: 30%)
   - Performance requirements met?
   - Feature set complete?
   - Scalability path clear?

3. **Ecosystem** (Weight: 20%)
   - Package availability?
   - Community size?
   - Third-party integrations?

4. **Long-term Viability** (Weight: 20%)
   - Active maintenance?
   - Corporate backing?
   - Future roadmap?
```

---

## Anti-Patterns to Avoid

### Technology Selection Red Flags

| Anti-Pattern | Why It's Bad | Better Approach |
|--------------|--------------|-----------------|
| **Resume-Driven** | Choosing tech for career, not project | Match to requirements |
| **Hype-Driven** | Picking latest without evaluation | Proven over trendy |
| **Comfort-Only** | Only familiar tech even when unsuitable | Evaluate objectively |
| **Over-Engineering** | Complex stack for simple needs | Start simple |
| **Under-Engineering** | Simple tools for complex needs | Plan for growth |

### Common Mistakes

```markdown
❌ "Let's use microservices from day one"
   → Start monolith, extract later

❌ "We need Kubernetes for our 3-person startup"
   → Use managed platforms (Vercel, Railway)

❌ "MongoDB because NoSQL is modern"
   → PostgreSQL handles 95% of use cases better

❌ "GraphQL for everything"
   → REST is simpler for most APIs

❌ "Let's build our own auth"
   → Use Auth0, Clerk, or established solutions
```

---

## Migration Considerations

### When to Consider Migration

| Trigger | Action |
|---------|--------|
| Performance bottlenecks | Profile first, then consider |
| Team expertise mismatch | Train or hire before migrating |
| End of life/support | Plan 6-12 months ahead |
| Scale limitations | Validate limits with benchmarks |
| Security vulnerabilities | Patch if possible, migrate if not |

### Migration Risk Assessment

```
LOW RISK:
- Library/package updates
- Minor version upgrades
- Adding new services

MEDIUM RISK:
- Database version upgrades
- Framework major versions
- New deployment platform

HIGH RISK:
- Language/framework rewrites
- Database technology changes
- Monolith to microservices
```

---

## Quick Reference

### "I'm building a..."

| Project | Recommended Stack |
|---------|-------------------|
| Blog/CMS | Next.js + Headless CMS (Sanity/Contentful) |
| SaaS Dashboard | Next.js + Node.js + PostgreSQL |
| Mobile App | React Native + Node.js + PostgreSQL |
| E-commerce | Next.js + Medusa/Custom + PostgreSQL |
| Real-time Chat | React + Node.js + Socket.io + Redis |
| Data Dashboard | React + Python/FastAPI + PostgreSQL |
| ML Product | React + Python/FastAPI + PostgreSQL + Vector DB |
| API Service | Node.js or Python + PostgreSQL |

### Stack Complexity Levels

| Complexity | Description | Example Stack |
|------------|-------------|---------------|
| **Minimal** | Single deployment, managed services | Vercel + Supabase |
| **Simple** | Separate frontend/backend | Vercel + Railway + PostgreSQL |
| **Standard** | Multiple services, caching | AWS ECS + RDS + Redis |
| **Complex** | Microservices, event-driven | K8s + Multiple DBs + Kafka |

---

## References

- [Framework Comparison](framework-comparison.md) - Detailed feature comparisons
- [Migration Playbooks](migration-playbooks.md) - Step-by-step migration guides

Comments (0)

No comments yet. Be the first to comment!