001-tech-stack.md markdown
38 lines 1.4 KB
Raw
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor ⚠ breaking 11 days ago

title: "ADR 001: Core product technology stack" project: business-ops-template tags:

  • adr
  • engineering
  • stack date: 2026-04-07

ADR 001: Core product technology stack

Status

Accepted (template example)

Context

We are launching a B2B workflow product with a small engineering team (four engineers). We need a stack that supports rapid iteration, solid hiring pool, and managed infrastructure to limit ops toil.

Options considered

  1. Node (TypeScript) + React + Postgres on managed cloud — broad talent market; mature tooling.
  2. Ruby on Rails + Hotwire — excellent for CRUD-heavy apps; smaller pool in our region for this template scenario.
  3. Go microservices + separate SPA — strong performance; higher baseline complexity for a four-person team.

Decision

Adopt TypeScript end-to-end: React frontend, Node API layer, Postgres as system of record, object storage for files, and infrastructure as code for environments. Background work uses a managed queue.

Rationale

  • Single language reduces context switching and eases full-stack ownership.
  • Managed Postgres and queue offload patching and failover basics we cannot staff 24/7 yet.

Consequences

Faster hiring and safer integrations; cost is bundle churn—enforce linting and scheduled upgrades. Revisit at Series A scale if SLO burn exceeds the engineering roadmap thresholds.

File History 4 commits
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 11 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 30 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 50 days ago