CLI Tool2026

AJ Time Tracker

An AI-powered CLI time tracker built for developers who'd rather stay in the terminal.

CLI Demo

Tech Stack

Python 3.12SQLiteClaude APIRichprompt_toolkitDocker

Overview

The terminal is already open most of the day. Claude is part of my workflow. Logging time needed to be as close to thinking as possible — no app switching, no clicking through UIs, just type and done.

That's why I built it terminal-first. I was tired of constantly alt-tabbing to a web time tracker or whatever system the client was using. So I'd usually log everything at the end of the day — and sometimes I'd even forget parts of it. Now I just track hours directly in the terminal, then duplicate them into the client's platform when needed.

Then I added an MCP server on top — so I can log time directly from Claude. "Log 2 hours on Acme, finished the dashboard" — done. No context switch, no broken focus. The AI figures out the client, project, and task on its own.

Next up: scripts that auto-sync entries to client platforms so I don't even have to duplicate anything manually anymore.

Under the Hood

Interactive REPL powered by Rich and prompt_toolkit

SQLite for zero-config local storage with automatic backups

Anthropic Claude API for natural language parsing and analytics

11 AI tools including time logging, entity creation, budget tracking, profitability analysis, and trend detection

Compound action system that lets the AI execute multiple operations in a single turn, with per-action confirmation

Themeable UI with dark and light modes, semantic color tokens, and live theme switching

Key Features

Natural Language Input

Type naturally and the AI figures out the client, project, and task. No commands to memorize.

Budget & Profitability

Set budgets per project, track burn rate, and get profitability analysis across clients.

Full Hierarchy

Clients, projects, versions, and tasks — organized the way freelance work actually flows.

Offline & Local

Everything stored in SQLite locally. No accounts, no cloud.

Interested in working together?

I'm available for new projects. Let's discuss how I can help.

Get in touch