Skip to main content

A terminal-based productivity and life-tracking system.

Project description

GitHub forks GitHub stars

Habitrax

A terminal-based personal development tracker combining habit building, productivity, and introspection into one unified system.


What is Habitrax?

Habitrax is a CLI app designed to help you:

  • Track your tasks, productivity, and self-discipline
  • Reflect daily with randomized deep questions
  • Monitor progress using gamified stats and leveling
  • Build powerful habits using philosophies from:
    • Deep Work
    • Atomic Habits
    • Slight Edge
    • Think & Grow Rich
    • Shadow Work Journal

You don't just live life — you level through it.


Quickstart

git clone https://github.com/2kDarki/Habitrax.git 
cd Habitrax 
python run.py

or through pip:

pip install habitrax
Habitrax # or python -m hbx

Requires Python 3.10+ installed.

That's it — Habitrax runs out-of-the-box.


Philosophy

Most productivity apps force structure on you.
Habitrax does the opposite — it's a sandbox for your goals, actions, and reflections.

  • Every decision is a vote toward your future self
  • Every session is data, analyzed and visualized for self-awareness
  • You define your purpose, rules, and trajectory

Core Modules

  • Session Logging – Track tasks, time, focus, and productivity quality
  • Debrief – Daily introspection with randomized deep questions
  • Soul Work – Gratitude, philosophy, and "Slight Edge" voting
  • Status Window – Gamified dashboard for categories and missions
  • Notebook – Store insights, mantras, or journal entries
  • Statistics – Filter and visualize productivity trends
  • Missions – Self-defined goals with tracked completion
  • Coffer – Manually track your finances
  • Almanack – Define your chief aim and personal commandments

Why Terminal?

  • Built entirely on a smartphone as a learning project
  • No external dependencies or frameworks
  • Made for speed, clarity, and minimalism
  • Focus is on function, not flash — every feature serves personal growth

Tech Stack

  • Language: Python
  • Libraries: tuikit
  • Storage: JSON
  • Interface: Terminal-based, menu-driven

Folder Structure

Habitrax/
        ├── sreenshots/      ← Example screenshots
        ├── src/ 
            ├── Habitrax/    ← Shim
            └── hbx/         ← App source code
        ├── data/            ← Stored user data (JSON) 
        ├── pyproject.toml   ← Packaging configuration 
        ├── requirements.txt ← Empty (0 dependencies) 
        ├── run.py           ← Entry point 
        ├── README.md        ← You are here
        ├── LICENSE 
        └── .gitignore 

Screenshots

  1. Status Window Status Window
  2. Soul Work module Soul Work module
  3. Debrief questions Debrief questions
  4. Task logging view Task logging view

Data & Privacy

  • All user data is stored locally in JSON files
  • You can back up or migrate manually
  • Future versions may support encryption or SQLite (if you can, you may work on this)

Limitations

  • Minimal CLI interface — designed for speed and simplicity
  • No undo or in-app editing (by design)
  • Manual testing only — no automated tests yet

License

MIT License — Free to use, modify, or build upon. Mention appreciated if published or monetized.


About the Author

Self-taught dev passionate about programming and philosophy. Built this to not just track productivity — but to master the self.

Contributing to Habitrax

Thank you for considering contributing! Here's a simple workflow:

Getting Started

  1. Fork the repo
  2. Clone your fork:
git clone https://github.com/YOUR_USERNAME/Habitrax.git 
cd Habitrax
  • Create a branch for your changes: git checkout -b feat/my-feature
  • Make your changes (code, data, formatting)
  • Stage and commit:
    • git add .
    • git commit -m "Clear, short description"
  • Push your branch: git push origin feat/my-feature
  • Open a Pull Request (PR) on GitHub — describe your change clearly
  • Optional: add a minimal test in tests/

Code Style

  • Keep naming consistent with existing files
  • Minimal formatting: PEP8 recommended, but readability matters most
  • Comments welcome for clarity

Testing

  • There's no automated testing yet
  • Please run python run.py to make sure your changes don't break the app

Suggested First Contributions

Even if you've never seen the code before, here are 2 tasks anyone can try:

  • Improve Debrief Randomization – Add optional filters for categories
  • Add a CLI Shortcut

These tasks are small, self-contained, and won't break the core functionality.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

habitrax-0.3.1.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

habitrax-0.3.1-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

Details for the file habitrax-0.3.1.tar.gz.

File metadata

  • Download URL: habitrax-0.3.1.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for habitrax-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6d83c540299b697d40ac44c0bd9adb2ca4f6d52a5095077209189c35343bf5ac
MD5 5280212c3fb46d19d90aefae73464da7
BLAKE2b-256 49e20faa2cb68c9f42f6ace4b0289177a780d0b8889b2390b8fc8784b3c26c22

See more details on using hashes here.

Provenance

The following attestation bundles were made for habitrax-0.3.1.tar.gz:

Publisher: publish.yml on 2kDarki/Habitrax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file habitrax-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: habitrax-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 41.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for habitrax-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aebf32829786aeecfb8355a9be92823da197f089f5cb71ae63400a140a8780c9
MD5 218ee5c3790c0a968478d4ab35d9449b
BLAKE2b-256 d934525bcbd3361ef4b4abf7e14ecfa3267b782ad506954575652ffdf70f6d63

See more details on using hashes here.

Provenance

The following attestation bundles were made for habitrax-0.3.1-py3-none-any.whl:

Publisher: publish.yml on 2kDarki/Habitrax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page