# sa-daily-toolkit

Daily toolkit for Solution Architects: ADRs, Well-Architected, threat modeling, and more.

- URL: https://fernando.moretes.com/open-source/sa-daily-toolkit

- Markdown: https://fernando.moretes.com/open-source/sa-daily-toolkit/guide.md?lang=en

- GitHub: https://github.com/fernandofatech/sa-daily-toolkit

- Language: TypeScript

- Topics: 

- Stars: 0

- Forks: 0

- Updated: 2026-05-16T01:43:26Z

---

SA Daily Toolkit is an open-source Next.js 16 application that centralizes the recurring artifacts of a Solution Architect's day-to-day work — ADRs, Well-Architected checklists, threat modeling prompts, sizing calculators, and RFC templates — in a single web interface deployed to production.

## Why this project exists

Solution Architects switch context with unusual frequency. In a single day you might review an RFC proposal in the morning, run a threat modeling session in the afternoon, and respond to an infrastructure sizing request in the evening. The cognitive cost of rebuilding the structure of each artifact from scratch — or hunting down the right template across drives, wikis, and chats — is real and compounds over time.

This repository started from a practical need: a small, opinionated set of tools I actually use, versioned, tested, and accessible from anywhere via a browser. The decision to build it as a web application rather than a flat Markdown file repository was deliberate: interactive forms reduce fill-in errors, calculators run client-side without backend dependencies, and decision history stays traceable through ADRs generated by the toolkit itself.

The project also serves as a bilingual (PT/EN) technical portfolio, demonstrating production-ready engineering practices: CI/CD pipelines with GitHub Actions, automated deployment to Vercel, DNS via Cloudflare, static security analysis, and compliance with Conventional Commits and GitFlow.

## What is included

- **ADR generator** using the MADR template — fill the form, export the file.
- **Well-Architected checklists** covering all six pillars of the AWS Well-Architected Framework.
- **Threat modeling prompts** ready to paste into LLM-assisted workflows.
- **Sizing calculators** for compute, storage, and networking — client-side execution, no backend required.
- **RFC template pack** and **weighted decision matrix** for cross-team architecture proposals.
- **Tech radar generator** and **architecture spike notes** for recording technology bets and time-boxed explorations.

## Technical stack and architecture decisions

The application is built on **Next.js 16 with App Router** and **React 19**, written entirely in **TypeScript 5**, and styled with **Tailwind CSS 4**. The App Router choice cleanly separates server components (static template generation, metadata) from client components (interactive calculators, forms with local state).

The repository maintains three independent GitHub Actions pipelines: `ci.yml` for lint and type-check on every push, `frontend.yml` for application build and tests, and `security.yml` for static security analysis. Production deployment runs through Vercel with DNS managed by Cloudflare, accessible at `toolkit.moretes.com`.

The repository structure is intentionally straightforward:

- `frontend/` — the entire Next.js application
- `docs/` — the project's own ADRs, architecture diagrams, and technical documentation
- `.github/workflows/` — the three CI/CD pipelines

Design decisions for the project are documented as ADRs inside `docs/`, which closes the loop: the toolkit generates ADRs, and the toolkit itself is documented with ADRs.

## How the toolkit works

Application data flow and components, from developer to end user.

### 💻 Developer

- Developer local machine (user)

### 🔁 CI/CD

- GitHub Actions ci.yml (ci)
- GitHub Actions frontend.yml (ci)
- GitHub Actions security.yml (security)

### ☁️ Hosting

- Vercel deploy + CDN (edge)
- Cloudflare DNS + proxy (network)

### 🌐 Frontend

- Next.js 16 App Router (frontend)
- Tools ADR / WA / RFC Sizing / Radar (compute)

### 👤 End User

- SA / Engineer browser (user)

### Flows

- dev -> ci: push / PR
- ci -> frontend_pipeline: lint → build
- ci -> security: static analysis
- frontend_pipeline -> vercel: auto deploy
- vercel -> cloudflare: DNS / proxy
- cloudflare -> nextjs: toolkit.moretes.com
- nextjs -> tools: App Router routes
- tools -> user: generated artifacts
- user -> tools: inputs / forms

## Local installation and usage

1. **Prerequisites** — Node.js 20+ and npm 10+ installed locally. There are no database dependencies or mandatory environment variables to run in development mode.

2. **Clone the repository** — Clone the repository and navigate into the frontend application directory.

3. **Install dependencies** — Run `npm install` inside the `frontend/` directory to install all project dependencies.

4. **Start the development server** — Run `npm run dev` and open `http://localhost:3000` in your browser. Hot reload is enabled by default.

5. **Lint and type-check** — Run `npm run lint` for ESLint and `npm run build` to validate TypeScript types and generate a local production build before opening a PR.

6. **Consult SETUP.md and OPERATIONS.md for deployment** — To connect Vercel and Cloudflare, follow the guide in `SETUP.md`. To understand the GitFlow, Vercel secrets, and security pipeline, consult `OPERATIONS.md`.

_Quick start — from clone to local server_

```bash
# Clone the repository
git clone https://github.com/fernandofatech/sa-daily-toolkit.git
cd sa-daily-toolkit

# Install dependencies (all tooling lives under frontend/)
cd frontend
npm install

# Start the development server
npm run dev
# → http://localhost:3000

# Type-check and lint before committing
npm run lint
npm run build

# The live production instance is always available at:
# https://toolkit.moretes.com
```

> **Calculators run entirely client-side:** The sizing calculators for compute, storage, and networking make no backend calls. All processing happens in the browser via React with local state. This means the sizing data you enter never leaves your machine — relevant when you are working with estimates for sensitive projects.

## Frequently asked questions

### Can I use the templates without running the web application?

The raw templates (ADR, RFC, spike notes) are documented under `docs/`. You can copy them directly from there. The web application adds interactive forms and validation, but is not required for basic use.

### Does the project accept external contributions?

Yes. The project follows GitFlow and Conventional Commits. Consult `CONTRIBUTING.md` for guidelines before opening a PR. Issues are welcome for suggestions on new templates or calculators.

### Why Next.js and not a simple static site generator?

Next.js 16's App Router allows mixing server components (for static content generation and SEO) with client components (for interactive calculators and forms) without friction. For a toolkit that combines static content with interactive logic, this separation is cleaner than forcing everything into a purely static generator.

### Is there a backend or database?

No. The application is fully static and client-side. There is no server-side data persistence. If you need to save generated artifacts, export them manually or integrate with your own storage system.

## Who this project is for

SA Daily Toolkit is useful for Solution Architects, Tech Leads, and senior engineers who produce architecture artifacts regularly and want to reduce time spent on repetitive structuring without sacrificing traceability. It is not a replacement for corporate documentation tools like Confluence or Notion — it is a lightweight, offline-capable complement for the drafting and decision phase.

If you are evaluating this repository as part of my portfolio: it demonstrates the ability to deliver a complete web application with a CI/CD pipeline, DevSecOps practices, and rigorous technical documentation, while reflecting the kind of work I do as a Solution Architect day to day.

## References and links

- [fernandofatech/sa-daily-toolkit — GitHub](https://github.com/fernandofatech/sa-daily-toolkit)
- [SA Daily Toolkit — Production (toolkit.moretes.com)](https://toolkit.moretes.com)
- [Architecture documentation (docs/architecture.md)](https://github.com/fernandofatech/sa-daily-toolkit/blob/main/docs/architecture.md)
- [MADR — Markdown Architectural Decision Records](https://adr.github.io/madr/)
- [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html)
- [Next.js 16 App Router documentation](https://nextjs.org/docs/app)

## Links

- [GitHub repository](https://github.com/fernandofatech/sa-daily-toolkit)
