A simple notes app built with Tauri, React, and TypeScript.
- Create, edit, and delete notes
- Search notes by title or content
- Find within note content (Ctrl/Cmd+F)
- Star notes for quick access
- Auto-save as you type
- Local SQLite database storage
- Optional cloud sync with Cloudflare D1
- Frontend: React 19, TypeScript, Vite
- Styling: Tailwind CSS 4
- Desktop: Tauri 2
- Database: SQLite (local), Cloudflare D1 (cloud)
- Linting/Formatting: Biome
Install dependencies:
pnpm installRun the development server:
pnpm tauri dev| Command | Description |
|---|---|
pnpm dev |
Start Vite dev server |
pnpm build |
Build for production |
pnpm preview |
Preview production build |
pnpm tauri dev |
Run Tauri app in development |
pnpm tauri build |
Build Tauri app for distribution |
pnpm lint |
Run Biome linter |
pnpm format |
Format code with Biome |
Notes are stored in a local SQLite database at:
- macOS:
~/Library/Application Support/com.mikecao.noto/noto.db - Windows:
%APPDATA%\com.mikecao.noto\noto.db - Linux:
~/.local/share/com.mikecao.noto/noto.db
Noto supports syncing notes to Cloudflare D1 for cross-device access.
- Create a D1 database in your Cloudflare dashboard
- Create an API token with D1 read/write permissions
- Open Settings in Noto and enter your Account ID, Database ID, and API Token
- Click "Test Connection" then "Save"
- Enable cloud sync
The database schema is created automatically when you first connect.
- Local-first: Changes are saved locally immediately for fast, responsive UI
- Background sync: Changes are pushed to the cloud asynchronously
- Offline support: Operations are queued when offline and synced when back online
- Merge strategy: When enabling sync with existing local notes, you can choose to merge with cloud or replace local with cloud data
MIT