A lightweight, privacy-first Windows application that automatically tracks your PC gaming sessions by monitoring the active foreground window. Unlike launcher-based trackers, ForgeTrack only records time while you're actually playing.
- About the Project
- Features
- Architecture
- Tech Stack
- Installation
- Usage
- Developer Setup
- Building the Executable
- Roadmap
- Contributing
- License
Most game launchers measure how long a game is open—not how long it's actually being played. This often leads to inflated playtime whenever the game is left idle or minimized.
ForgeTrack solves this by monitoring the active foreground window and only recording playtime while your game is actually in focus.
All tracking is performed locally using native Windows APIs and SQLite. No cloud services, user accounts, or internet connection are required.
Key highlights:
- 🎮 Tracks only active gameplay
- 🔒 100% local with no data collection
- ⚡ Lightweight background application
- 💾 Stores sessions in a local SQLite database
- 📄 Simple JSON configuration
- 📦 Distributed as a standalone executable
- 🎮 Active Window Tracking — Records playtime only while your game is the active foreground window.
- ⚡ Low Resource Usage — Runs quietly in the background with minimal CPU and memory usage.
- 📝 Whitelist Configuration — Track only the games you choose using
config.json. - 💾 Local SQLite Storage — Gaming sessions remain entirely on your computer.
- 🔒 Privacy First — No telemetry, analytics, accounts, or internet connectivity required.
Active Window
│
▼
Windows API
│
▼
Executable Detection
│
▼
Whitelist Filter
│
▼
Session Tracking
│
▼
SQLite Database
All processing occurs locally. No information is transmitted outside your computer.
| Component | Technology |
|---|---|
| Language | Python 3.12+ |
| Platform | Windows |
| OS Integration | pywin32, psutil |
| Database | SQLite3 |
| Packaging | PyInstaller |
| Formatting & Linting | Ruff |
- Windows 10 or later
- Git (for developers)
Download the latest release from GitHub.
👉 https://github.com/ofcitsjoe/forge-track/releases/latest
Download:
ForgeTrack.exe
Place it inside any folder, for example:
Documents/
└── ForgeTrack/
Double-click ForgeTrack.exe to start tracking.
Clone the repository:
git clone https://github.com/ofcitsjoe/forge-track.git
cd forge-trackCreate a virtual environment:
python -m venv .venvActivate it:
PowerShell
.\.venv\Scripts\Activate.ps1Install dependencies:
pip install -r requirements.txtRun:
python main.pyWhen ForgeTrack starts for the first time, it automatically creates:
config.json
data/
└── tracker.db
Open config.json and add the executables you want to track.
Example:
{
"games": [
"Hades.exe",
"DetroitBecomeHuman.exe",
"Stardew Valley.exe"
]
}Leave ForgeTrack running in the background.
Whenever one of the configured games becomes the active foreground window, the application automatically records:
- Game executable
- Session start time
- Session end time
- Session duration
To stop ForgeTrack completely, open Task Manager and end the ForgeTrack process.
ForgeTrack stores all sessions inside:
data/
└── tracker.db
To inspect the database:
- Install DB Browser for SQLite
- Open
tracker.db - Browse the
sessionstable
Everything remains stored locally on your computer.
Clone the repository:
git clone https://github.com/ofcitsjoe/forge-track.git
cd forge-trackCreate a virtual environment:
python -m venv .venvActivate it:
.\.venv\Scripts\Activate.ps1Install dependencies:
pip install -r requirements.txtRun the application:
python main.pyInstall PyInstaller:
pip install pyinstallerBuild ForgeTrack:
pyinstaller --noconsole --onefile --name ForgeTrack main.pyThe executable will be generated inside:
dist/
└── ForgeTrack.exe
- Dashboard application
- Daily, weekly, and monthly statistics
- CSV export
- Automatic updates
- Game artwork and icons
- Configurable polling interval
- Pause tracking hotkey
- Multi-language support
Contributions are always welcome!
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Push your branch.
- Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.
Built with ❤️ for gamers who want accurate, launcher-independent playtime tracking.