FOCUSCurrently working on ScheduleSomething and LayerdEvents algorithmsLearn More
FOCUSCurrently working on ScheduleSomething and LayerdEvents algorithmsLearn More
FOCUSCurrently working on ScheduleSomething and LayerdEvents algorithmsLearn More
FOCUSCurrently working on ScheduleSomething and LayerdEvents algorithmsLearn More
DevelopmentArchitecture Decisions
ADR 001: Modular Monolith Architecture
DocsdevelopmentArchitecture DecisionsADR 001: Modular Monolith Architecture
GitHub Live Sync

ADR 001: Modular Monolith Architecture

Live technical documentation fetched from GitHub repository omghante/metapilot/docs/adr/ADR-001-modular-monolith.md

ADR-001: Modular Monolith Architecture

  • Status: Accepted
  • Date: 2026-07-01
  • Deciders: Architecture Team

Context

MetaPilot requires clear subsystem boundaries (Users, Tenants, Campaigns, Templates, Messaging, Scheduler) without the early complexity, deployment friction, and network overhead of microservices.

Decision

We adopt a Modular Monolith architecture using Django applications within a single backend package (
services/api
). Applications communicate in-process using python service calls and Django signals.

Consequences

  • Positive: High developer velocity, single database deployment, simplified transactions.
  • Negative: Requires strict discipline to prevent cross-app circular imports.