March 14, 2026

Monorepo Over Microservices

Context

Starting the No Scratch Nav project, I needed to decide how to structure the codebase. With AI as my pair programmer, the choice between monorepo and separate repos had significant implications.

Decision

Used a monorepo with shared types, unified CI/CD, and a single deployment pipeline.

Alternatives Considered

Separate frontend and backend repos

Pros
  • Independent deployments
  • Isolated codebases
Cons
  • More context to manage across AI sessions
  • Duplicate CI/CD configuration
  • Harder to share types

Microservices architecture

Pros
  • Independent scaling
  • Team ownership boundaries
Cons
  • Massive overhead for a solo developer
  • AI loses context across services
  • Complex networking for simple features

Reasoning

AI tools work best with a single coherent context. A monorepo means all code, types, and configuration are in one place — AI can understand the full system without switching contexts. Single CI/CD pipeline reduces debugging surface.

architecturemonorepoci-cd