A terminal-based productivity and life-tracking system.
Project description
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
- Status Window
- Soul Work module
- Debrief questions
- 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
- Fork the repo
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a98af18210e6e301f20b447776250052e73e02c958ec2e39df6019e3bef4623
|
|
| MD5 |
47c307c07aaeaf1519c42faab8f525d5
|
|
| BLAKE2b-256 |
58128e2e0ce15fc7e2627d6126f758079127f090c8b743f9796588ea2b0aa3fc
|
Provenance
The following attestation bundles were made for habitrax-0.3.2.tar.gz:
Publisher:
publish.yml on 2kDarki/Habitrax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
habitrax-0.3.2.tar.gz -
Subject digest:
3a98af18210e6e301f20b447776250052e73e02c958ec2e39df6019e3bef4623 - Sigstore transparency entry: 731157727
- Sigstore integration time:
-
Permalink:
2kDarki/Habitrax@80d95883079109a9d3e178e2d38ff1734096ec3b -
Branch / Tag:
refs/tags/v0.3.3 - Owner: https://github.com/2kDarki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@80d95883079109a9d3e178e2d38ff1734096ec3b -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99994aaf1c664c11aa681572e9d4b1bd518a5fc0f80c783d68c2e5970c1f97d4
|
|
| MD5 |
eb86a3f7aa7a245ab652f789e8ad26f1
|
|
| BLAKE2b-256 |
a77022f190e498f2a41352bf2e55fff45fbcfdd2750b4b82edd9e212070ccc94
|
Provenance
The following attestation bundles were made for habitrax-0.3.2-py3-none-any.whl:
Publisher:
publish.yml on 2kDarki/Habitrax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
habitrax-0.3.2-py3-none-any.whl -
Subject digest:
99994aaf1c664c11aa681572e9d4b1bd518a5fc0f80c783d68c2e5970c1f97d4 - Sigstore transparency entry: 731157728
- Sigstore integration time:
-
Permalink:
2kDarki/Habitrax@80d95883079109a9d3e178e2d38ff1734096ec3b -
Branch / Tag:
refs/tags/v0.3.3 - Owner: https://github.com/2kDarki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@80d95883079109a9d3e178e2d38ff1734096ec3b -
Trigger Event:
push
-
Statement type: