ADR-0001: Platform Stack
Status
Section titled “Status”Accepted for V1.
Context
Section titled “Context”The platform requires backend services, workers, frontend UI, shared contracts, database migrations, deployment tooling, and repository-local documentation.
The team intends to use AI heavily during development. A consistent stack reduces context switching and makes AI-generated changes easier to review.
Decision
Section titled “Decision”Use TypeScript as the default language for application code, workers, shared packages, and operational tooling.
Use React/TSX for frontend.
Use PostgreSQL for relational data.
Use TimescaleDB for time-series telemetry.
Use Kubernetes and Helm for deployment.
Use GitHub and GitHub Actions for repository hosting and CI/CD.
Consequences
Section titled “Consequences”Positive:
- Shared language across frontend, backend, workers, and tools.
- Strong type system for contracts.
- Good AI support.
- SQL-based relational and time-series model.
- Kubernetes-ready deployment path.
Negative:
- Node.js runtime behavior must be handled carefully for workers.
- TimescaleDB operational knowledge is required.
- Kubernetes and Helm add operational complexity.