001-tech-stack.md
markdown
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
- Node (TypeScript) + React + Postgres on managed cloud — broad talent market; mature tooling.
- Ruby on Rails + Hotwire — excellent for CRUD-heavy apps; smaller pool in our region for this template scenario.
- 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
sha256:6a102aafafdfe7e70a24f4e59740200f0ee713ce7915f1b53e9d4ba5ee8b4410
Initial Muse snapshot
Human
83 days ago