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.2.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.2-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: habitrax-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 3a98af18210e6e301f20b447776250052e73e02c958ec2e39df6019e3bef4623
MD5 47c307c07aaeaf1519c42faab8f525d5
BLAKE2b-256 58128e2e0ce15fc7e2627d6126f758079127f090c8b743f9796588ea2b0aa3fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for habitrax-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: habitrax-0.3.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99994aaf1c664c11aa681572e9d4b1bd518a5fc0f80c783d68c2e5970c1f97d4
MD5 eb86a3f7aa7a245ab652f789e8ad26f1
BLAKE2b-256 a77022f190e498f2a41352bf2e55fff45fbcfdd2750b4b82edd9e212070ccc94

See more details on using hashes here.

Provenance

The following attestation bundles were made for habitrax-0.3.2-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