Frontend technologies
Core framework
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 16.1.1+ | React framework for the UI layer |
| React | 19.2.1+ | UI library for building components |
| TypeScript | 5.9.3+ | Type-safe JavaScript development |
| Tailwind CSS | 4.x | Utility-first CSS framework |
UI libraries
| Library | Version | Purpose |
|---|---|---|
| shadcn/ui | 3.5.0 | Base component library |
| Lucide React | 0.475.0+ | Icon system |
| Monaco Editor | 4.8.0-rc.3 | Code editor (powers VS Code) |
| next-themes | 0.4.6+ | Theme switching (light/dark mode) |
State management
| Library | Version | Purpose |
|---|---|---|
| TanStack Query | 5.90.12+ | Server state management and caching |
| Zustand | 5.0.9+ | Client-side UI state |
| nuqs | 2.8.6+ | URL query state management |
Desktop shell (Tauri)
Tauri core
| Technology | Version | Purpose |
|---|---|---|
| Tauri | 2.x | Desktop application framework |
| Rust | 2024 edition | Systems programming language |
Tauri plugins
| Plugin | Version | Purpose |
|---|---|---|
| tauri-plugin-dialog | ~2.4.2 | Native file/folder dialogs |
| tauri-plugin-fs | ~2.4.4 | Filesystem access |
| tauri-plugin-http | ~2.5.4 | HTTP client with unsafe headers |
| tauri-plugin-os | ~2.3.2 | OS information |
| tauri-plugin-process | ~2.3.1 | Process management |
| tauri-plugin-store | ~2.4.1 | Persistent key-value storage |
| tauri-plugin-updater | ~2.9.0 | Auto-update functionality |
| tauri-plugin-window-state | ~2.4.1 | Window state persistence |
Tanxium runtime
Deno dependencies
| Dependency | Version | Purpose |
|---|---|---|
| deno_runtime | 0.229.0 | Core Deno runtime with transpilation |
| deno_core | 0.363.0 | V8 bindings and ops system |
| deno_fs | 0.131.0 | Filesystem operations |
| deno_resolver | 0.52.0 | Module resolution |
| deno_ast | 0.51.0 | TypeScript/JavaScript parsing |
deno_runtime allows embedding this functionality directly into the Tauri app.
Backend framework
| Technology | Version | Purpose |
|---|---|---|
| Hono | 4.10.4+ | Fast web framework for the RPC server |
| Drizzle ORM | 0.44.7+ | Type-safe ORM for SQLite |
| Zod | 4.1.12+ | Schema validation |
Build tools
Monorepo management
| Tool | Version | Purpose |
|---|---|---|
| pnpm | 10.19.0 | Fast, disk-efficient package manager |
| Turborepo | 2.5.8+ | Monorepo build system |
TypeScript tooling
| Tool | Purpose |
|---|---|
| @typescript/native-preview | Experimental native TypeScript compiler |
| tsc-alias | Path alias resolution after compilation |
Additional dependencies
Tauri (Rust)
Tanxium (TypeScript/Deno)
| Dependency | Purpose |
|---|---|
| smtp-server | Catch-all SMTP server for email testing |
| mailparser | Email parsing |
Development tools
| Tool | Purpose |
|---|---|
| Prettier | Code formatting |
| ESLint | JavaScript linting |
| PostHog | Privacy-friendly analytics |
Platform support
Yasumu targets three major desktop platforms:- Windows: Windows 10/11 (64-bit)
- macOS: macOS 10.15 (Catalina) or later
- Linux: Ubuntu 20.04+ or equivalent
Version catalogs
Yasumu uses pnpm’s catalog feature to manage shared versions across the monorepo:Why these choices?
Every technology in Yasumu’s stack was chosen based on:- Performance: Fast runtime performance and build times
- Developer experience: Great TypeScript support and tooling
- Stability: Battle-tested libraries with active maintenance
- Bundle size: Minimal impact on the final application size
- Type safety: Strong typing to catch errors at compile time
- Community: Active communities and good documentation
Next steps
- Tauri shell - Learn about the desktop shell layer
- Tanxium runtime - Explore the JavaScript runtime
- Frontend architecture - Dive into the Next.js frontend