typemeter is a local activity meter for your typing, like a pedometer for your work at the keyboard.
typemeter records only keystroke counts — never the content of what you type.
- No characters or key names are stored
- All data stays on your device (local storage only)
- No network requests are made
This is a desktop app built with Tauri, a framework with a Rust-based backend and a Vue-based frontend.
| Layer | Technology |
|---|---|
| Framework | Tauri 2 |
| Frontend | Vue 3 + TypeScript |
| Backend | Rust |
| Package manager | Bun |
| Build tool | Vite |
Developer documentation lives in docs/. See docs/README.md for the index of available documents.
- Rust
- Bun
- Platform-specific dependencies (see Tauri prerequisites)
- Install dependencies.
bun install
- Start up a dev server.
bun run tauri dev
To develop with pre-generated data instead of real keystroke logs:
- Generate a mock database (60 days of random data).
python scripts/gen_mock_db.py
- Start the dev server with the mock database.
bun run tauri:mock
bun run tauri buildThe installer is generated in src-tauri/target/release/bundle/.
git checkout main && git pull
git checkout -b release/v0.2.0Update the following two fields in src-tauri/tauri.conf.json:
| Field | Platform | Example |
|---|---|---|
version |
macOS / Linux | 0.2.0 |
bundle.windows.wix.version |
Windows | 0.2.0.0 (must follow x.y.z.w format) |
bun run release:note v0.2.0This generates docs/releases/v0.2.0.md from the template in .github/RELEASE_TEMPLATE.md.
Fill in the New Features and Bug Fixes sections in docs/releases/v0.2.0.md.
git add src-tauri/tauri.conf.json docs/releases/v0.2.0.md
git commit -m "release: v0.2.0"
git push origin release/v0.2.0Open a PR from release/v0.2.0 into main and merge it.
After merging, push a version tag from main. GitHub Actions will then build the app for all platforms and create a draft GitHub Release using the release note as the body.
git checkout main && git pull
git tag v0.2.0
git push origin v0.2.0Once all builds succeed, open the draft release on GitHub, verify the attached assets, and publish it.
