Tech Stack Document
A template for recording the technologies used in a project and the reasoning behind each choice, helping onboard new team members quickly.
This document records the technologies used by the project and the reasoning behind each choice. Keep it up to date whenever the stack changes. A well-maintained tech-stack document saves new team members hours of guesswork and makes future architecture reviews significantly easier.
How to Use This Template
Each category below contains a short description of what kind of information to fill in, followed by a table. Replace the placeholder text with real values for your project. Remove categories that do not apply, and add new ones as needed.
Backend
The server-side language, runtime, and primary web framework.
| Item | Value | Notes |
|---|---|---|
| Language | e.g. PHP 8.3, Python 3.12, Node.js 22 | |
| Framework | e.g. Laravel 12, Django 5, Express | |
| Key libraries / packages | List the most important ones and why they are used. |
Frontend
The client-side technologies and build tooling.
| Item | Value | Notes |
|---|---|---|
| Framework / library | e.g. React 19, Vue 3, or server-rendered templates | |
| CSS approach | e.g. Tailwind CSS, Bootstrap, plain CSS modules | |
| Build tool | e.g. Vite, Webpack, esbuild | |
| Key packages | List any significant UI libraries or utilities. |
Database
The data storage layer, including any caching or search stores.
| Item | Value | Notes |
|---|---|---|
| Primary database | e.g. PostgreSQL 16, MySQL 8, SQLite | |
| Cache layer | e.g. Redis, Memcached, or none | |
| Search engine | e.g. Elasticsearch, Typesense, or database full-text search | |
| ORM / query builder | e.g. Eloquent, SQLAlchemy, Prisma |
Hosting and Infrastructure
Where the application runs and how the infrastructure is managed.
| Item | Value | Notes |
|---|---|---|
| Cloud provider | e.g. AWS, GCP, Azure, or a VPS provider | |
| Hosting model | e.g. containers, serverless, managed PaaS | |
| Domain / DNS | e.g. Cloudflare, Route 53 | |
| SSL / TLS | e.g. Let's Encrypt via Cloudflare, or managed by the host |
CI/CD
How code moves from a developer's machine to production.
| Item | Value | Notes |
|---|---|---|
| CI/CD platform | e.g. GitHub Actions, GitLab CI, CircleCI | |
| Deployment trigger | e.g. push to main, tagged release | |
| Containerisation | e.g. Docker, or none |
Monitoring and Observability
How the team knows whether the application is healthy.
| Item | Value | Notes |
|---|---|---|
| Error tracking | e.g. Sentry, Bugsnag | |
| Logging | e.g. application logs to stdout, shipped to Datadog | |
| Uptime monitoring | e.g. Better Uptime, Pingdom, or a custom health check |
AI and Machine Learning
Include this section only if the project uses AI or ML services.
| Item | Value | Notes |
|---|---|---|
| AI provider / model | e.g. OpenAI GPT-4o, Anthropic Claude, or a self-hosted model | |
| Integration method | e.g. REST API, SDK, or a wrapper library | |
| Use case | Briefly describe what the AI is used for in this project. |
Decision Log
For any technology choice that was non-obvious or debated, add a short entry here explaining the reasoning. Link to an ADR if one exists.
- [Technology] -- [Why it was chosen over alternatives.]
- [Technology] -- [Why it was chosen over alternatives.]
Newsletter
A weekly newsletter on React, Next.js, AI-assisted development, and engineering. No spam, unsubscribe any time.