Why?
Look — your terminal already knows when you worked. Your git log is a more honest journal than any productivity app.
The problem isn't tracking; it's that nothing in your dev loop ever says hi back.
Bytinho is a tiny pixel pet that lives between your git push and your next coffee. It hatches from your first commit, grows from the diffs you actually ship, and naps when you do. No login. No email. No code ever leaves your machine.
It's not productivity software. It's not a dashboard. It's the closest thing to a Tamagotchi a CLI can have — except it evolves from the work you actually ship.
Your terminal already knows. The pet just reminds you.
Install
pipx install bytinho
cd your-repo
bytinho install-hook
bytinho
That's it. Make a commit. Watch your pet grow.
What it does
The MVP is intentionally tiny. Five things, done well:
- 🥚 Hatches on your first commit. Egg → 8 evolution stages, 5 visual variants each.
- 📈 Levels up with real commits. XP scales with diff effort, not just commit count.
- 🔥 Daily streak with XP bonus up to +100% after 10 days shipping in a row.
- 💬 Has personality. Derived from your anonymous UUID — same dev, same pet, forever.
- 🏆 Weekly leaderboard at
bytinho rankingand a public profile card atbytinho.com/u/<nick>.
Plus a small one we're proud of: desktop toasts when you level up, unlock an achievement, or hit a streak milestone. Smart by default — never spammy. Turn off with bytinho notify off.
That's the soft-launch surface. Anything bigger (commit-guard, diff-review, standup, custom skins, teams) is parked in the roadmap until v0.11 finds its people.
Commands
bytinho # open the TUI — see your pet, talk to it
bytinho install-hook # add post-commit + pre-push hooks to the current repo
bytinho talk "hi" # quick one-liner chat without opening the TUI
bytinho ranking # top devs this week
bytinho streak # consecutive days shipping
bytinho doctor # check server, hook, python, uuid, notify
bytinho nick <name> # claim a public nickname
bytinho notify [smart|off] # desktop toasts on level up / achievements
bytinho version
Run bytinho --help for the full list. Most flags follow the principle: if you have to read docs, we failed.
Screenshot
A glimpse of the TUI:
╭──────────────────────────────────────────────────────────╮
│ @andryus · Floquinho · spark · lv 2 │
│ │
│ ▄▄▄▄▄ you shipped 3 commits today. │
│ ▄█▀▀▀█▄ almost there — keep going 👀 │
│ █ ◉ ◉ █ │
│ ▀█▀▀▀█▀ │
│ ▀ ▀ │
│ spark ██████░░ 420/1000 🔥 3d │
│ │
│ type to chat · F1 stats F2 ranking F3 achievements │
│ Esc quit│
╰──────────────────────────────────────────────────────────╯
Rendered with Rich + prompt_toolkit. Footer is live.
Roadmap
This is v0.11 — soft launch. The shape of v0.12 depends on what you tell us.
- Now — pet, hook, ranking, achievements, talk, desktop notifications
- Next (v0.12) — daily greeting, streak shield, mood, peer ranking
- Later — private teams, GitHub PR integration, custom skins, plugin API
Full picture: ROADMAP.md. The fastest way to move something up is a thumbs-up on a discussion.
Privacy
- Identity is an anonymous UUID generated locally on first run. No email, no account, no password.
- Optional, opt-in telemetry sends only: event name, CLI version, OS family. Never code, commit messages, diffs, file names, or paths.
- Inspect or wipe with
bytinho telemetry(use--forgetto delete everything from the server) or setBYTINHO_NO_TELEMETRY=1to disable locally. - The git hook is non-destructive —
bytinho install-hookaddspost-commitandpre-pushhooks, merging with anything you already have. Never overwrites.
If any of this ever changes, it'll be in the changelog before it's in the code. Promise.
Built with
Python 3.10+, Typer, Rich, prompt_toolkit, FastAPI on the server side.
MIT licensed. Made with too much café by @andryus. PRs welcome — small fixes get merged fast.
⚠️ Heads up — this is early. Bytinho is in soft launch. Things will move. Footers will reflow. Your pet might take a nap it shouldn't. Open an issue, send a friend, complain on a discussion — your feedback literally shapes v0.11.
Got feedback? Every good idea starts with
git commit -m "idea".
Metadata
Release files for bytinho 0.12.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bytinho-0.12.6-py3-none-any.whl | Python 3 | none | any | Details |
Release files / bytinho-0.12.6-py3-none-any.whl
| Download URL | bytinho-0.12.6-py3-none-any.whl |
|---|---|
| Size | 115.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b787e3eb7cf3c715e9c61f0405720d7ae4efadad0418fe1571995b7a2ec29c1a
|
|
BLAKE2b-256 checksum How to use checksums |
f6110cdd70573a9b8fd8fefc0f420cf7f743d968c4d286bd4463ca13c12f1b57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for bytinho 0.12.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.