Source: https://seerepo.com/r/cjpais/Handy/built
Markdown source: https://seerepo.com/r/cjpais/Handy/built.md
Description: Handy is a Rust repo built with Vite, React, Tauri, @tauri-apps/api, Tokio, and 2 more. It stores its data in SQLite and tauri-plugin-store.

# What is Handy built with?

Handy is a Rust repo built with Vite, React, Tauri, @tauri-apps/api, Tokio, and 2 more. It stores its data in SQLite and tauri-plugin-store, uses AI through hf-hub, makes its content with hound, react-markdown, and symphonia, is tested with @playwright/test, deploys with log, tauri-plugin-log, tauri-apps, and env_filter, and uses rusqlite and rusqlite_migration. It has 62,295 written lines, with 10 test files.

Read on November 6, 2026, at commit 82dfab9.

Repository: https://github.com/cjpais/Handy

## Frontend

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in package.json](https://github.com/cjpais/Handy/blob/82dfab9fda18c4bc24e1f6e56d36474d38eca0bc/package.json)
- **[React](https://seerepo.com/uses/react)**: 160 files · [in package.json](https://github.com/cjpais/Handy/blob/82dfab9fda18c4bc24e1f6e56d36474d38eca0bc/package.json)
- **[Tauri](https://seerepo.com/uses/tauri)**: 36 files
- **[@tauri-apps/api](https://seerepo.com/uses/tauri-apps-api)**: 18 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **tauri-nspanel**: 2 files
- **gtk**: 1 file
- **[react-select](https://seerepo.com/uses/react-select)**: 1 file
- **[tauri-plugin-dialog](https://seerepo.com/uses/tauri-plugin-dialog)**: 1 file
- **webkit2gtk-sys**: 1 file
- **webview2-com**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 20 files

## Backend

### Data

- **[rusqlite](https://seerepo.com/uses/rusqlite)**
- **rusqlite_migration**
- **[SQLite](https://seerepo.com/uses/sqlite)**: 2 files · [src-tauri/src/managers/history.rs, line 4](https://github.com/cjpais/Handy/blob/82dfab9fda18c4bc24e1f6e56d36474d38eca0bc/src-tauri/src/managers/history.rs#L4)
- **tauri-plugin-store**: 2 files

### AI

- **[hf-hub](https://seerepo.com/uses/hf-hub)**: 2 files

## Support

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 8 files
- **[objc2-app-kit](https://seerepo.com/uses/objc2-app-kit)**: 2 files
- **[objc2-foundation](https://seerepo.com/uses/objc2-foundation)**: 1 file

### Content

- **hound**: 3 files
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[symphonia](https://seerepo.com/uses/symphonia)**: 1 file

### Testing

- **@playwright/test**: 1 file

### Deploy

- **[log](https://seerepo.com/uses/log)**: 46 files
- **[tauri-plugin-log](https://seerepo.com/uses/tauri-plugin-log)**: 3 files
- **tauri-apps**: 2 files
- **env_filter**: 1 file

### Tools

- **specta**: 21 files
- **tauri-specta**: 7 files
- **clap**: 2 files
- **specta-typescript**: 1 file

### Other

- **rdev**
- **react-i18next**: 104 files
- **anyhow**: 20 files
- **serde**: 20 files
- **tauri-apps**: 17 files
- **serde_json**: 10 files
- **zustand**: 7 files
- **once_cell**: 6 files
- **windows**: 6 files
- **enigo**: 5 files
- **chrono**: 4 files
- **i18next**: 4 files
- **tauri-plugin-clipboard-manager**: 4 files
- **rodio**: 3 files
- **tauri-plugin-global-shortcut**: 3 files
- **winreg**: 3 files
- **libc**: 2 files
- **objc2**: 2 files
- **regex**: 2 files
- **reqwest**: 2 files
- **tauri-plugin-autostart**: 2 files
- **tauri-plugin-opener**: 2 files
- **tauri-plugin-os**: 2 files
- **futures-util**: 1 file
- **Immer**: 1 file
- **objc2-service-management**: 1 file
- **rubato**: 1 file
- **rustfft**: 1 file
- **sha2**: 1 file
- **signal-hook**: 1 file
- **strsim**: 1 file
- **sys-locale**: 1 file
- **tauri-plugin-fs**: 1 file
- **tauri-plugin-process**: 1 file
- **tauri-plugin-single-instance**: 1 file
- **tauri-plugin-updater**: 1 file
- **whatlang**: 1 file

## Other repos with a similar stack

- [janhq/jan](https://seerepo.com/r/janhq/jan/built): Vite, React, Tauri, @tauri-apps/api, rusqlite, SQLite, tauri-plugin-store, Tokio, objc2-app-kit, objc2-foundation, Tailwind CSS, gtk, tauri-plugin-dialog, webview2-com, Lucide, react-markdown, log, tauri-plugin-log, tauri-apps · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/janhq/jan)
- [farion1231/cc-switch](https://seerepo.com/r/farion1231/cc-switch/built): Vite, React, Tauri, @tauri-apps/api, rusqlite, SQLite, Tokio, objc2-app-kit, objc2-foundation, Tailwind CSS, tauri-plugin-dialog, Lucide, log, tauri-plugin-log, tauri-apps · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/farion1231/cc-switch)
- [Stirling-Tools/Stirling-PDF](https://seerepo.com/r/Stirling-Tools/Stirling-PDF/built): Vite, React, Tauri, @tauri-apps/api, tauri-plugin-store, Tokio, objc2-app-kit, objc2-foundation, Tailwind CSS, tauri-plugin-dialog, webview2-com, react-markdown, log, tauri-plugin-log · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/Stirling-Tools/Stirling-PDF)
- [unslothai/unsloth](https://seerepo.com/r/unslothai/unsloth/built): Vite, React, Tauri, @tauri-apps/api, Tokio, objc2-app-kit, objc2-foundation, Tailwind CSS, gtk, tauri-plugin-dialog, webview2-com, Lucide, log · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/unslothai/unsloth)
- [openbq-org/OpenBB](https://seerepo.com/r/openbq-org/OpenBB/built): Vite, React, Tauri, SQLite, Tokio, objc2-app-kit, objc2-foundation, Tailwind CSS, tauri-plugin-dialog, log, tauri-plugin-log · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/openbq-org/OpenBB)
- [jamiepine/voicebox](https://seerepo.com/r/jamiepine/voicebox/built): Vite, React, Tauri, @tauri-apps/api, Tokio, Tailwind CSS, tauri-plugin-dialog, Lucide, hound, symphonia, tauri-apps · [Compare](https://seerepo.com/compare/cjpais/Handy/vs/jamiepine/voicebox)

## Frequently asked questions

### What language is Handy written in?

Handy is written in Rust, with 62,295 written lines.

### What framework does Handy use?

Handy is built with Vite, React, Tauri, @tauri-apps/api, Tokio, objc2-app-kit, and objc2-foundation.

The proof: [in package.json](https://github.com/cjpais/Handy/blob/82dfab9fda18c4bc24e1f6e56d36474d38eca0bc/package.json)

### What database does Handy use?

Handy stores its data in SQLite and tauri-plugin-store.

The proof: [src-tauri/src/managers/history.rs, line 4](https://github.com/cjpais/Handy/blob/82dfab9fda18c4bc24e1f6e56d36474d38eca0bc/src-tauri/src/managers/history.rs#L4)

### Does Handy use AI?

Yes. Handy uses AI through hf-hub.

### What services does Handy use?

Handy uses rusqlite and rusqlite_migration.

### Does Handy have tests?

Yes. Handy has 10 test files and is tested with @playwright/test.

### Which repos have a stack like Handy's?

The ones that share most of its stack: janhq/jan, farion1231/cc-switch, and Stirling-Tools/Stirling-PDF.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
