Skip to main content
#03

Curzy Vitality

Background productivity tracker & Life OS daemon. Tracks active application times in SQLite, calculates burnout risk, and gamifies work via achievements. React + Tailwind v4, Express, better-sqlite3.

JavaScriptReactExpressSQLiteProductivity ToolGamificationLife OSWellness
<p align="center"> <img src="images/dashboard1.png" alt="Header Banner" width="100%"/> </p> <h1 align="center">Curzy Vitality</h1> <p align="center"> <strong>Background productivity tracker & Life OS daemon</strong> </p> <div align="center">

Stars Forks License Platform

</div> <p align="center"> <a href="#-why-curzy-vitality">Why This</a> · <a href="#-key-features">Features</a> · <a href="#%EF%B8%8F-architecture">Architecture</a> · <a href="#-quick-start">Quick Start</a> · <a href="#-screens">Screens</a> </p>

🕒 Why Curzy Vitality?

A high-performance background activity tracker for Curzy Vitality Life OS. It silently monitors your active applications to log work sessions, calculate burnout warnings, and reward daily progression metrics.

🧠 Burnout GuardKeeps track of active continuous development hours, warning you at >3h limits.
💾 WAL SQLite LoggerFast local state storage using better-sqlite3 with Write-Ahead Logging.
🎮 Gamification EngineGamifies daily coding tasks with XP and unique achievement simulations.

🎯 Key Features

Sentinel Core Features

FeatureStatusDescription
Activity TrackingSilent system process logging categorized dynamically via mappings.
Burnout WarningReturns active warning structures when continuous deep work crosses 3h.
Process LogsSaves unknown/unmatched window titles to a file for regex tuning.
internal REST APIExpress backend listener bound to localhost for dashboard integration.

Technical Capabilities

CapabilityStatusDescription
Multi-Process devConcurrently runs background daemon & frontend development bundle.
Fast SQLite PersistenceExtremely fast atomic logging using pre-compiled sqlite statements.
PM2 OrchestrationPM2 ready using ecosystem.config.js for lightweight local runs.

🏗️ Architecture

curzy-vitality/
├── data/
│   └── sentinel.db        # SQLite persistence store
├── logs/
│   └── unknown_processes.log # List of uncategorized system names
├── src/
│   ├── config/            # Process category mapping JSON templates
│   ├── database/          # Database table initializations
│   ├── server/            # Local HTTP controller listener
│   └── services/          # Sentinel core polling & tracking classes
├── ecosystem.config.js    # PM2 production runner config
└── package.json           # Monorepo concurrency script configuration

🚀 Quick Start

Installation & Setup

# Clone the repository
git clone https://github.com/Curzyori/curzy-vitality.git
cd curzy-vitality

# Install required dependencies
npm install

# Run concurrently in development (Sentinel + Dashboard)
npm run dev

# Or run in production background via PM2
pm2 start ecosystem.config.js

🖼️ Screens

<p align="center"> <img src="images/dashboard1.png" alt="Top Dashboard View" width="48%"/> <img src="images/dashboard2.png" alt="Bottom Dashboard View" width="48%"/> </p>

📄 License

This project is released under the MIT License — free for educational, personal, and research purposes.

☕ Support

If this project is useful, consider supporting its development!

<p align="center"> <a href="https://donate.curzy.dev/"><strong>💝 Donate via Crypto or QRIS</strong></a> </p>

Crypto payment details are maintained at donate.curzy.dev.

<sub>Built with passion as the 3rd Project of the 50 Projects Challenge by @curzyori</sub>