Skip to content

Simple, privacy-focused desktop app for time tracking and invoicing. All data stays local. Built with Tauri 2, React 19, and SQLite. Features floating timer widget, Pomodoro, global shortcuts, and offline PDF invoicing. Free for personal use, non-commercial license.

License

Notifications You must be signed in to change notification settings

EmminiX/FlowForge-Timetrack

Repository files navigation

Emmi Logo

FlowForge-Track

A simple, focused desktop app for tracking your work time and creating invoices. Built with privacy in mind β€” all your data stays on your computer.

Designed to be easy to use, especially for people who prefer clear interfaces and minimal distractions.

FlowForge-Track Screenshot

πŸ“– User Guide

For a complete walkthrough of features and settings, read the FlowForge-Track User Guide.

πŸ“₯ Download

Platform Download Notes
macOS Download .dmg macOS 10.15+
Windows Download .exe Windows 10+
Linux Download .AppImage Most distros

Note: The app is not code-signed yet. See Installation Guide below for how to open it.

🌟 Key Features

  • Floating Timer Widget β€” A small always-on-top window so you always see your timer, positioned at the corner of your app
  • Client & Project Management β€” Organize your work with clients and projects
  • Offline Invoicing β€” Create professional PDF invoices without needing the internet
  • Global Keyboard Shortcuts β€” Control the timer from anywhere:
    • Cmd+Shift+S (Mac) / Ctrl+Shift+S (Win/Linux) β€” Start/Resume
    • Cmd+Shift+P (Mac) / Ctrl+Shift+P (Win/Linux) β€” Pause
    • Cmd+Shift+X (Mac) / Ctrl+Shift+X (Win/Linux) β€” Stop & Save
    • Cmd+Shift+W (Mac) / Ctrl+Shift+W (Win/Linux) β€” Toggle Widget
    • Cmd+Shift+M (Mac) / Ctrl+Shift+M (Win/Linux) β€” Toggle Sound
  • Pomodoro Timer β€” Built-in work/break intervals (25/5 min default, customizable)
  • Dashboard Analytics β€” Visual breakdown of your daily and weekly progress
  • Smart Idle Detection β€” Automatically pauses the timer when you step away
  • Customizable UI β€” Light/Dark theme, adjustable font size and density
  • App Update System β€” Checks for updates automatically and notifies you of new releases
  • Time Editing β€” Manually adjust time logs to correct mistakes or add missed time
  • High Contrast Theme β€” Improved visibility for low-vision users
  • Disable Animations β€” Option to turn off UI animations for a calmer experience
  • Multi-Currency Support β€” Set currency per client (EUR, USD, GBP)
  • Backup & Restore β€” Export your data safe-keeping or move it to another device

πŸ›‘οΈ Data Protection

FlowForge-Track includes built-in protection against accidental data loss:

  • Cascading Delete Protection β€” You cannot delete a client that has projects, or a project that has time entries
  • Delete Order β€” To remove a client completely, you must first delete their time entries, then projects, then the client
  • No Undo Needed β€” This deliberate friction prevents accidental deletion of important billing data

πŸ“ Data Storage & Privacy

How and where is data stored? Data is stored locally in a SQLite database file named flowforge.db within your operating system's application data directory.

  • macOS: ~/Library/Application Support/com.emmi.flowforge/flowforge.db
  • Windows: C:\Users\{username}\AppData\Local\com.emmi.flowforge\flowforge.db
  • Linux: ~/.local/share/com.emmi.flowforge/flowforge.db (Standard XDG data path)

What are the storage limits? There are no artificial limits imposed by the application. Storage is only limited by the available disk space on your computer.

How is data storage controlled?

  • Control: You have full ownership of the local database file.
  • Access: The app manages data internally, but you can manually back up, copy, or delete the flowforge.db file if needed.
  • Security: Access is controlled by your operating system's user permissions.

πŸ“¦ Installation Guide

macOS

Since the app isn't code-signed yet, macOS will show a security warning:

  1. Download the .dmg file
  2. Open it and drag FlowForge-Track to Applications
  3. First launch: Right-click the app β†’ Select "Open" β†’ Click "Open" in the dialog
  4. Grant Accessibility permissions for keyboard shortcuts:
    • System Settings β†’ Privacy & Security β†’ Accessibility
    • Click + and add FlowForge-Track

Windows

Windows SmartScreen may show a warning:

  1. Download the .exe installer
  2. If you see "Windows protected your PC", click "More info"
  3. Click "Run anyway"
  4. Follow the installation wizard

Linux

  1. Download the .AppImage file
  2. Make it executable: chmod +x FlowForge-Track.AppImage
  3. Run it: ./FlowForge-Track.AppImage

πŸš€ Quick Start

  1. Add a Client β€” Go to Clients β†’ New Client
  2. Create a Project β€” Go to Projects β†’ New Project (link it to your client)
  3. Start Tracking β€” Go to Timer β†’ Select project β†’ Click Start
  4. Create Invoice β€” Go to Invoices β†’ New Invoice β†’ Select client and time entries

πŸ›  For Developers

Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS 4, Zustand
  • Backend: Tauri 2 (Rust)
  • Database: SQLite (local)
  • Build: Vite 7

Requirements

Development

# Install dependencies
pnpm install

# Start development mode
pnpm tauri dev

# Run tests
pnpm test

# Type check
pnpm exec tsc --noEmit

Build

# Build for current platform
pnpm tauri build

Outputs are in src-tauri/target/release/bundle/

Project Structure

src/                    # React frontend
β”œβ”€β”€ components/         # Shared UI components
β”œβ”€β”€ features/          # Feature modules (timer, clients, invoices, etc.)
β”œβ”€β”€ services/          # Database service layer
β”œβ”€β”€ stores/            # Zustand state stores
└── types/             # TypeScript types

src-tauri/             # Rust backend
β”œβ”€β”€ src/lib.rs         # Main Tauri setup, commands, migrations
└── tauri.conf.json    # App configuration

πŸ“„ License

Non-Commercial Use Only

This software is open source and free to use for personal, educational, and non-commercial purposes.

You may:

  • βœ… Use it for personal time tracking and invoicing
  • βœ… Use it within your team or organization (non-profit use)
  • βœ… Modify and customize it for your own needs
  • βœ… Share it with others
  • βœ… Contribute improvements back to the project

You may NOT:

  • ❌ Sell this software or any derivative of it
  • ❌ Use it as part of a commercial product or service
  • ❌ Generate revenue from this software in any way
  • ❌ Remove attribution or claim it as your own work

See LICENSE for full legal details.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. By contributing, you agree that your contributions will be licensed under the same non-commercial terms.


πŸ‘¨β€πŸ’» About

Made with ❀️ by Emmi β€” for freelancers and small teams who value simplicity and privacy.

FlowForge-Track was born from the need for a simple, privacy-focused time tracking tool that doesn't require subscriptions, cloud accounts, or complex setup. It's built to respect your data and your workflow.

Connect:


This project is open source but not for commercial use. If you find it valuable, consider sharing it with others who might benefit from it.

About

Simple, privacy-focused desktop app for time tracking and invoicing. All data stays local. Built with Tauri 2, React 19, and SQLite. Features floating timer widget, Pomodoro, global shortcuts, and offline PDF invoicing. Free for personal use, non-commercial license.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •