Technologies used
The tools Bones is built on, and why each one was picked over the alternatives.
Two rules shaped every choice:
- Latest stable, until v1. Every dependency and runtime targets the newest stable release when it's added. After v1 that relaxes toward deliberate pins.
- One cloud. Anything hosted runs on AWS — one bill, one console.
The stack
| Layer | Tools | Page |
|---|---|---|
| Language | TypeScript, Zod | TypeScript |
| API | Fastify, tRPC | Fastify and tRPC |
| Data | PostgreSQL, Drizzle | Postgres and Drizzle |
| Auth | Better Auth | Better Auth |
| UI | React, Mantine, React Router, Tabler Icons | React and Mantine |
| Frontends | Vite, Next.js | Vite and Next.js |
| Docs | Fumadocs | Fumadocs |
| Content | react-markdown, remark-gfm, rehype-sanitize | Markdown |
| Languages | i18next, i18next-cli | i18next |
| Desktop | Tauri | Tauri |
| Cloud | S3, SES, Bedrock, RDS, App Runner | AWS |
| Logging | pino, pino-roll, node-cron | Logging |
| Tooling | Yarn, Docker, oxlint, Prettier, Vitest, Storybook, MSW | Tooling |
| Accessibility | axe, Playwright | axe and Playwright |
| Security | Semgrep, OWASP ZAP | Semgrep and ZAP |
| CI | GitHub Actions | GitHub Actions |
How each tool is used day to day is in How Bones.