Back to list
mattgierhart

prd-v05-technical-stack-selection

by mattgierhart

PRD-driven Context Engineering: A systematic approach to building AI-powered products using progressive documentation and context-aware development workflows

9🍴 2📅 Jan 24, 2026

SKILL.md


name: prd-v05-technical-stack-selection description: Determine technologies needed to build the product, making build/buy/integrate decisions during PRD v0.5 Red Team Review. Triggers on requests to select tech stack, evaluate technologies, make build vs. buy decisions, or when user asks "what technologies?", "select tech stack", "build or buy?", "technical decisions", "what tools do we need?", "evaluate solutions". Consumes FEA- (features), SCR- (screens), RISK- (constraints). Outputs TECH- entries with decisions, rationale, and trade-offs. Feeds v0.6 Architecture Design.

Technical Stack Selection

Position in workflow: v0.5 Risk Discovery Interview → v0.5 Technical Stack Selection → v0.6 Architecture Design

Technical stack selection is about making build/buy/integrate/research decisions for every technical capability your product needs.

Decision Categories

CategoryDefinitionWhen to Choose
BuildCreate custom solutionCore differentiator, no good alternatives, full control needed
BuyUse paid service/toolCommodity capability, proven solutions exist, not a differentiator
IntegrateConnect to existing platformEcosystem play, user expects it, data lives elsewhere
ResearchNeed POC before decidingHigh uncertainty, multiple viable options, significant commitment

Rule: Default to Buy for everything that isn't a core differentiator. Build only when you must.

Technology Layers to Address

For each layer, decide Build/Buy/Integrate/Research:

LayerQuestions to AnswerCommon Options
FrontendFramework? Hosting? Mobile/Web?React, Vue, Next.js, Vercel
BackendLanguage? Framework? Serverless?Node, Python, Go, AWS Lambda
DatabaseSQL/NoSQL? Managed?PostgreSQL, MongoDB, Supabase
AuthBuild or buy? SSO?Auth0, Clerk, Firebase Auth
PaymentsIf monetized, processor?Stripe, Paddle, LemonSqueezy
InfrastructureCloud? Edge? CDN?AWS, GCP, Vercel, Cloudflare
IntegrationsExternal services? APIs?Depends on product
AI/MLModels? Services?OpenAI, Anthropic, local models
AnalyticsProduct analytics? Error tracking?Mixpanel, PostHog, Sentry
DevOpsCI/CD? Monitoring?GitHub Actions, Datadog

Decision Process

  1. Inventory needs from FEA- (features) and SCR- (screens)

    • What technical capabilities are required?
  2. Check RISK- constraints

    • Do any risks constrain technology choices?
    • Performance? Security? Compliance?
  3. Categorize each need: Build | Buy | Integrate | Research

    • Use decision framework below
  4. Research specific options for Buy/Integrate

    • Evaluate against criteria
  5. Define research scope for Research items

    • What must be learned? By when?
  6. Create TECH- entries with full rationale

Build vs. Buy Decision Framework

FactorFavors BuildFavors Buy
DifferentiationCore to your value propCommodity capability
ControlMust customize extensivelyStandard behavior acceptable
ExpertiseTeam has deep knowledgeTeam would need to learn
TimelineCan invest time nowNeed it working immediately
CostLong-term cost lowerReasonable SaaS pricing
MaintenanceWilling to own foreverWant vendor to maintain

Strong Build signals:

  • "This is why users choose us over competitors"
  • "No existing solution fits our specific need"
  • "We need to change this weekly based on learning"

Strong Buy signals:

  • "Every SaaS product needs this"
  • "Multiple proven solutions exist"
  • "We'd just be recreating what vendors already built"

TECH- Output Template

TECH-XXX: [Technology/Capability Name]
Category: [Build | Buy | Integrate | Research]
Layer: [Frontend | Backend | Database | Auth | Payments | Infrastructure | Integrations | AI/ML | Analytics | DevOps]
Purpose: [What problem this solves]

Features Served: [FEA-XXX, FEA-YYY]
Screens Affected: [SCR-XXX, SCR-YYY]
Risk Constraints: [RISK-XXX that influenced this]

Decision: [Specific choice made]
Rationale: [Why this choice over alternatives]
Alternatives Considered:
  - [Option A]: [Why rejected]
  - [Option B]: [Why rejected]

Trade-offs:
  - Pro: [Advantage]
  - Con: [Disadvantage]

Cost: [Pricing model, estimated monthly cost]
Integration Complexity: [Low | Medium | High]
Lock-in Risk: [Low | Medium | High]

Research Needed: [If Category = Research]
Evaluation Criteria: [How to decide]
Decision Deadline: [When we must decide]

Example TECH- entry (Buy):

TECH-001: Authentication Service
Category: Buy
Layer: Auth
Purpose: User authentication, session management, social login

Features Served: FEA-010 (login), FEA-011 (signup), FEA-012 (social auth)
Screens Affected: SCR-000 (login), SCR-001 (signup), SCR-010 (settings)
Risk Constraints: RISK-008 (security compliance requirement)

Decision: Clerk
Rationale: Best DX for Next.js, includes social login, compliant
Alternatives Considered:
  - Auth0: Higher price at scale, more complex setup
  - Firebase Auth: Google ecosystem lock-in, less polished
  - Build custom: Would take 2+ weeks, security risk

Trade-offs:
  - Pro: <1 day integration, battle-tested security
  - Con: Vendor dependency, per-MAU pricing at scale

Cost: Free tier sufficient for MVP, ~$25/mo at 1K MAU
Integration Complexity: Low
Lock-in Risk: Medium (user data exportable, but migration work)

Example TECH- entry (Research):

TECH-005: Vector Database for Semantic Search
Category: Research
Layer: Database
Purpose: Store and query embeddings for AI-powered search

Features Served: FEA-025 (semantic search)
Screens Affected: SCR-008 (search results)
Risk Constraints: RISK-012 (query latency <200ms requirement)

Decision: TBD after POC
Rationale: Multiple viable options with different trade-offs
Alternatives to Evaluate:
  - Pinecone: Managed, easy setup, higher cost
  - Weaviate: Self-hosted option, more control
  - pgvector: Uses existing Postgres, simpler stack

Research Needed:
  - Latency benchmark with 1M vectors
  - Cost projection at 10M vectors
  - Query accuracy comparison

Evaluation Criteria:
  - P99 latency < 200ms
  - Cost < $500/mo at scale
  - Supports metadata filtering

Decision Deadline: End of EPIC-02

Evaluation Criteria for Buy/Integrate

CriterionQuestions to Ask
FitDoes it solve our specific need? Any feature gaps?
CostWhat's the pricing model? Cost at 10x scale?
ComplexityHow hard to integrate? Ongoing maintenance?
Lock-inHow hard to switch later? Data export?
MaturityProduction-ready? Good documentation? Active development?
SupportWhat help is available? Response time?

Anti-Patterns to Avoid

Anti-PatternSignalFix
Resume-driven development"Let's use [hot new tech]"Choose boring technology for non-differentiators
Build everythingNo Buy/Integrate decisionsChallenge: is this really a differentiator?
Buy everythingNo Build decisionsSome things must be custom for your moat
Analysis paralysisResearch everythingTime-box research; decide with 70% confidence
Ignoring constraintsTech choice conflicts with RISK-Review RISK- before finalizing
Cost blindnessNo cost estimatesEvery TECH- needs cost projection
Premature optimization"We need Kubernetes for scale"Design for 10x current needs, not 1000x

Quality Gates

Before proceeding to Architecture Design:

  • All technology layers addressed
  • Build decisions justified as differentiators
  • Buy decisions have cost estimates
  • Research items have clear criteria and deadlines
  • RISK- constraints reflected in choices
  • No obvious vendor lock-in without acknowledgment

Downstream Connections

TECH- entries feed into:

ConsumerWhat It UsesExample
v0.6 Architecture DesignTECH- selections define the systemTECH-001 (Next.js) → frontend architecture
v0.6 Technical SpecificationTECH- informs API designTECH-003 (Supabase) → data model constraints
v0.7 Build ExecutionTECH- Research items become spikesTECH-005 (Research) → EPIC-02 spike task
Hiring/ResourcingTECH- Build items define skillsTECH-010 (custom ML) → need ML engineer

Detailed References

  • Tech stack examples by product type: See references/examples.md
  • TECH- entry template: See assets/tech.md
  • Evaluation scorecard: See assets/evaluation-scorecard.md

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon