I've been building a tool called Paca — a TUI (terminal user interface) app designed for freelancers and small teams who want to manage projects, track time, and handle invoicing without leaving the terminal.
As someone who lives in the terminal, I wanted something that fits into that workflow naturally. No browser tabs, no Electron apps eating up memory — just a fast, keyboard-driven interface that gets out of the way and lets you work.
Paca is a terminal app built with TypeScript and Bun that brings together project management, time tracking, and invoicing in one place. It stores everything locally in SQLite, so it's offline-first and your data stays on your machine.
The interface uses vim-style navigation — j/k to move through lists, number keys to switch between views, and single-key shortcuts for common actions. If you're comfortable in vim or any terminal tool, you'll feel right at home.
Dashboard — A quick overview of your projects, tasks, and time stats. Press 1 to get there from anywhere.
Task Management — Create tasks, set priorities, toggle completion with Space, and archive what you're done with. Press 2 for the task view.
Time Tracking — Start a timer with t, stop it with s. Attach descriptions and hourly rates to entries. Every second is tracked and grouped by project in the timesheet view.
Timesheets — View all your uninvoiced time grouped by project. Select entries with Space and press i to generate an invoice. Press 3 for timesheets.
Stripe Invoicing — Connect your Stripe account, link customers to projects, and create draft invoices directly from your time entries. No copy-pasting into spreadsheets.
Settings — Configure your business name, Stripe API key, timezone, and more. Press 5.
One of the more recent additions is a native macOS menu bar companion. It gives you quick access to start and stop timers without opening the full TUI — handy when you're deep in another app and just need to punch in or out.
It compiles a small Swift binary using Xcode Command Line Tools and runs as a lightweight background process. Enable it from settings or from the command line:
paca menubar enable
Here's a walkthrough of the main TUI — navigating between views, creating tasks, tracking time, and generating invoices.
Paca is built with:
Everything runs locally. There's no server, no account to create, no subscription. Just install and go.
npm install -g pacatui
paca
Or with Bun:
bun install -g pacatui
paca
On first launch it creates a database at ~/.paca/paca.db and you're ready to start tracking.
Paca is still early — currently at v0.1.16 — but it already handles the core workflow I need as a freelancer: organize projects, track time, send invoices. I'm actively working on it and would love feedback. Check out the repo on GitHub or install it and give it a spin.