Skip to main content

ADR-001: OpenSaaS/Wasp for MVP with T3 Migration Path

Status: REJECTED - Needs Reconsideration
Date: 2025-08-25
Author: Architecture Review Team

Context

The project plans to use OpenSaaS/Wasp for rapid MVP development (6-8 weeks), then migrate to T3 Stack (Next.js + tRPC + Prisma) for production scale. The reasoning is to balance speed-to-market with long-term scalability, given the 6-12 month competitive window.

Key requirements driving this decision:

  • Need to launch within 6-8 weeks before competitors emerge
  • Badge serving must be <200ms at p95 (critical performance requirement)
  • Semantic analysis engine is the core differentiator requiring significant development time
  • Team needs to focus on AI/ML innovation, not infrastructure

Decision

RECOMMENDATION: Start with T3 Stack from day one

After critical analysis, the migration path introduces more risk than benefit.

Consequences

Negative consequences of OpenSaaS approach:

  • Migration complexity underestimated: Database schema differences, authentication refactoring, deployment pipeline recreation
  • Performance uncertainty: Wasp's abstraction layer may not meet <200ms badge serving requirement
  • Technical debt acceleration: Two codebases to maintain during migration period
  • Team context switching cost: Learning Wasp then T3 creates cognitive overhead
  • Vendor lock-in risk: Wasp is less mature ecosystem with potential breaking changes

Positive consequences of T3 Stack from start:

  • Direct path to production scale without migration
  • Better performance control for critical badge serving
  • Larger talent pool familiar with Next.js/tRPC
  • More flexible deployment options (Vercel, self-hosted, etc.)
  • Better ecosystem maturity and community support

Alternatives Considered

  1. OpenSaaS/Wasp → T3 Migration (Original Plan)

    • Pros: Faster initial development, built-in auth/payments
    • Cons: Migration complexity, performance uncertainty, technical debt
  2. T3 Stack from Day One (RECOMMENDED)

    • Pros: Direct production path, performance control, team familiarity
    • Cons: Slower initial development, need to build auth/payments
  3. Pure Next.js with Custom Backend

    • Pros: Maximum flexibility
    • Cons: Too much infrastructure work, diverts from core differentiator
  4. Full-Stack Framework (Remix, SvelteKit)

    • Pros: Modern alternatives
    • Cons: Smaller ecosystems, team learning curve

Risk Assessment

High Risk with OpenSaaS approach:

  • Migration timeline could slip from 2 weeks to 8+ weeks
  • Performance issues discovered late requiring architecture changes
  • Wasp framework limitations discovered mid-development

Medium Risk with T3 approach:

  • 2-3 weeks additional development time for MVP
  • Need to build authentication and payment systems

Mitigation Strategy:

  • Use battle-tested libraries: NextAuth.js, Stripe, tRPC
  • Start with T3 Stack boilerplate to accelerate development
  • Focus team energy on semantic analysis engine (core differentiator)

Migration Strategy

If proceeding with T3 from start:

  1. Use T3 Stack create-t3-app template
  2. Add Shadcn/ui for component library (as planned)
  3. Implement NextAuth.js for GitHub OAuth
  4. Use Vercel for deployment (optimized for Next.js)
  5. Reserve 1 additional week for authentication/payment setup

Conclusion

The risk of migration complexity and performance uncertainty outweighs the 2-3 week development time saved with OpenSaaS. Starting with T3 Stack provides a direct path to production scale with better control over critical performance requirements.