This system is running live
Don't take
our word for it.
Try it.
We rebuilt a miniature version of this engagement and it's running right now. Click below — you are not looking at a screenshot, you are looking at the actual software.
▶ Open the live demo →Professional services · Client work · 9 weeks
Internal Tooling Overhaul
Replacing five disconnected Notion pages with one operational app
- duration
- 9 weeks
- tools replaced
- 7
- Monday prep time
- 3h → 5min
The problem
A 30-person consultancy was running their delivery operation on:
- A Notion page for projects
- A separate Notion page for clients
- A third Notion page for "pipeline"
- A Google Sheet for utilisation tracking
- A second Google Sheet for invoicing
- A Slack channel where status updates lived
- A whiteboard in the Sydney office that nobody could see remotely
Every Monday, the operations lead spent 3 hours stitching this together into a snapshot for the leadership meeting.
What we built
A single internal web app that replaced all of it:
- **Projects** with status, budget, utilisation, and a timeline view
- **Clients** with engagement history and contact info
- **Pipeline** with weighted forecasts
- **Utilisation** auto-calculated from the projects table
- **Status updates** via a Slack-integrated comment thread on each project
- **Reports** that generate the Monday snapshot automatically
What we deliberately did not do
- We did not build a CRM. They tried two before. None fit.
- We did not build a time-tracking system. They use a separate one and we just sync from it.
- We did not build mobile apps. The team works on laptops.
Outcome
- Monday meeting prep: 3 hours → 5 minutes
- Single source of truth across the team
- Shipped in 9 weeks, zero data lost in migration
Tech stack
SvelteKit, Postgres, Drizzle ORM, Tailwind, hosted on Railway.