JOE DESIGNS

A dev shop in Albuquerque New Mexico.

Paca

Project management, but make it terminal

Paca - the friendly alpaca mascot

Paca is a terminal-based project manager for freelancers who prefer the glow of a terminal over the chaos of endless browser tabs. No electron apps consuming half your RAM, no subscription fees, no syncing conflicts. Just you, your keyboard, and your work.

The Itch That Needed Scratching

Like most developers, I've tried every project management and time tracking tool under the sun. Toggl, Harvest, Clockify, Monday, Notion—the list goes on. They're all fine, but they all share the same problem: they pull you out of your flow. You're deep in code, you finish a feature, and now you have to context-switch to some web app to log your time and update your tasks. By the time you're done clicking around, you've lost the thread of what you were working on.

Paca was born from a simple question: what if my project manager lived where I already work? What if I could track time, manage tasks, and even generate invoices without ever leaving the terminal?

Building in the Terminal

The TUI (Terminal User Interface) is built with @opentui/react, which lets you build terminal interfaces using React components. If that sounds wild, it is—in the best way. The same mental model you use for web development, but everything renders as crisp terminal graphics with vim-style navigation. Hit j and k to move up and down, Tab to switch panels, n to create something new. It feels like home.

Under the hood, everything is powered by Bun and TypeScript, with SQLite handling persistence through Prisma 7. Your data lives in ~/.paca/paca.db—no cloud required, no account needed. You own your data, full stop. The offline-first architecture means Paca works just as well on a plane or in a cabin with spotty wifi as it does in your home office.

The Features That Matter

At its core, Paca handles the holy trinity of freelance work: projects, tasks, and time. Create color-coded projects, break them down into tasks with priorities and statuses, and track time with built-in timers. The dashboard gives you a bird's eye view of everything: total hours worked, projects in progress, tasks waiting for attention.

But the real magic happens when it's time to get paid. Paca integrates directly with Stripe to generate invoices from your tracked time. Open the timesheet view, select the unbilled entries, and boom—a draft invoice appears in your Stripe dashboard ready to send. No more manually transcribing hours into spreadsheets or separate invoicing tools. The workflow is seamless: track time → review → invoice → get paid.

Paca is open source and available on npm (npm install -g pacatui) or through Bun. If you're a freelancer who lives in the terminal, give it a spin. PRs are welcome.