Work in Progress – Solato is under active development. Features, APIs, and the overall structure may change frequently and without notice.
A local desktop timer app designed to help track and manage study sessions.
- Simple stopwatch for tracking study time
- Pomodoro timer with customizable work and break intervals
- Project management to organize and track study time by project
- Analysis of study sessions with statistics and charts
- Settings to customize the app to your workflow
By default, all your data is stored locally only on your device.
If you choose to create an account and log in, your study sessions and projects will be automatically synchronized with the cloud so you can access them across multiple devices.
- Official Hosting: Out of the box, the app connects to the official hosted API.
- Self-Hostable: The API code is completely open-source. If you prefer full control over your data, feel free to self-host your own backend instance.
Your privacy remains a priority — choose the setup that fits your workflow best.
- Node.js (recommended >= 18)
- npm or pnpm
- Rust toolchain (for Tauri native builds): rustup, cargo
- Tauri CLI (optional for dev/build):
cargo install tauri-clior usenpm run tauriif installed locally
-
Install dependencies:
npm i -
Set up test database (SQLite) for development:
Add a .env file with the content of .env.example in src-tauri
Then run both within /src-tauri folder:cargo install sqlx-cli --no-default-features --features rustls,sqlite cargo sqlx database create cargo sqlx migrate run -
Start the Tauri development session from root folder (serves the frontend and launches the native window):
npm run tauri dev -
Build production assets and create native installers:
npm run tauri buildIf building on Linux throws an error try to use npm run tauri:build:linux instead
Notes:
- Vite is configured to use port 1420 and strictPort when launched via Tauri. If you need to expose HMR on a LAN host, set the
TAURI_DEV_HOSTenvironment variable.
npm run tauri dev# Start the Tauri dev session (frontend + native window)npm run build# Compile TypeScript and build frontend assetsnpm run tauri build# Build native Tauri bundlesnpm run tauri:build:linux# Build native Tauri bundles for Linuxnpm run format# Format code with Prettier
Contributions are welcome. Please open issues or PRs with small, focused changes. Keep TypeScript types and formatting consistent.
This repository includes a LICENSE file. Check it for license details.