Track retainers, caps, projections, Stripe invoices, and Upwork diary shortcuts right in your menu bar.
curl -fsSL https://raw.githubusercontent.com/dennislysenko/freelance-tracker/main/install.sh | bash
Requires macOS, Python 3, Git · view source
Today's earnings are one glance away. No apps to open, no tabs to find.
Progress bars track your hours against retainer targets. No surprises on the next invoice.
Export CSVs, create Stripe drafts, assign an Upwork contract inline, and copy today's work descriptions when you need them elsewhere.
A running projection of your monthly revenue based on how you're actually working.
Toggl tells you what you worked on.
This tells you where you stand.
Uses your hourly rate from Toggl. This is the default if you don't configure a project.
Billed hourly up to a maximum number of hours. Works in two modes depending on how your billing cycle works.
last_billed_date after each invoicehourly_rate and cap_hourslast_billed_date for rolling cyclesYou get paid a fixed monthly amount for a specific number of hours. Over/under hours carry over to adjust next month's target.
monthly_amount and target_hoursFixed monthly amount with a target hour guideline. No carryover — once you hit the target, daily earnings show $0 for additional hours.
monthly_amount and target_hoursA flat monthly payment with no hour tracking at all. Hours are logged in Toggl but don't affect earnings.
monthly_amount onlyFree, open source, runs locally. Your data never leaves your machine.
curl -fsSL https://raw.githubusercontent.com/dennislysenko/freelance-tracker/main/install.sh | bash