On my own
Finally knowing whether a client is profitable
Internal tool for planning, time tracking and client profitability, used by 35 people at a packaging design agency.
- Status
- Internal
- Stack
- Next.js
- Supabase

The problem
Strategic projects were run in Excel, and every day the managers told the designers what to do.
Nobody logged hours against clients. So there was no way to tell which clients earned the agency money and which ones cost it money.
Every pricing conversation was based on guesswork.
The agency designs packaging. Today, 35 people use the tool.
What I did
I did the product and built it on my own, with AI. It took a week, with iterations, to get to a tool that 35 people use today.
The tool suggests, the manager decides. The final assignment is theirs.
Absences go into the plan. The system already leaves out anyone who is away that week.
How it works
Clients, contracts and invoices: managers set up each client with its contracts and invoices.
Planning: when a project is created, the system suggests the best designer for it, based on fit, urgency and availability.
Hours and absences: each designer sees their plan, logs their hours and requests holidays or other absences.
Client profitability: the real cost of each project, calculated from the logged hours.
Outcome
For the first time, the agency knows whether a client is profitable. And the tool is still in use.
What to do with that number is up to the business: raise prices, stop working with that client or absorb the cost as a goodwill gesture.
All three options can make sense. What changes is that the decision is now based on the number, not on guesswork.