| Language |
TypeScript |
v5.8.3 |
backend / frontend / extension |
Type safety, and shared knowledge across three repositories |
| Runtime |
Bun |
v1.3.11 |
Running, package management, and tests for backend / frontend |
Runs TS directly and bundles a test runner, reducing tooling |
| API framework |
Hono |
v4.7.7 |
The backend web API |
Lightweight and a good fit for Lambda |
| API schema |
@hono/zod-openapi |
v1.2.4 |
Validation, types, and OpenAPI generation |
One Zod definition covers validation, types, and documentation |
| Validation |
Zod |
v4.3.6 |
Data shape definitions and runtime validation |
TypeScript types and runtime validation come from one definition |
| ORM |
Drizzle ORM |
v0.45.2 |
DB access and migration generation |
SQL-like ergonomics, with types and SQL derived from the schema |
| DB |
PostgreSQL |
v16 |
Persistence |
A relational DB fits the complex table relationships of branch conditions |
| Frontend framework |
Next.js |
v15.3.0 |
Web UI (App Router) |
Server components and routing out of the box |
| UI library |
React |
v19.0.0 |
Building screens |
Required by Next.js |
| Data fetching |
TanStack Query |
v5.95.2 |
Fetching and caching server data |
Refetching and cache invalidation need not be hand-written per screen |
| Authentication |
next-auth |
v4.24.13 |
Google login |
Authentication can be completed with internal Google accounts |
| API client generation |
orval |
v7.8.0 |
Generating a react-query client from OpenAPI |
The frontend follows backend changes, preventing hand-written drift |
| Styling |
SCSS (CSS Modules) |
sass v1.98.0 |
Styling screens |
Avoids class name collisions while keeping the existing style |
| Extension framework |
Plasmo |
v0.90.3 |
Chrome extension |
Generates the manifest and build config, and allows writing React |
| Extension UI |
MUI |
v5.14.20 |
Extension UI components |
Lets the extension screens be built quickly |
| Infrastructure |
AWS Lambda |
- |
Runtime for the backend API |
Per-request billing keeps costs down |
| Infrastructure |
AWS App Runner |
- |
Runtime for the frontend |
Hosts directly from a container image |
| Infrastructure |
Amazon ECR |
- |
Container image registry |
Referenced by both Lambda and App Runner |
| CI/CD |
GitHub Actions |
- |
Build and deploy |
Automates ECR push and deployment on push to main |
| Documentation |
MkDocs Material |
v9.7.6 |
This documentation |
Written directly in Markdown and mermaid, with ja / en i18n |