Robin — Project & Billing CRM
Case study: Custom CRM built for a professional services firm managing client projects, billing, and team capacity. Replaced a patchwork of spreadsheets with a purpose-built internal platform.

Project Overview
The firm was running its project operations on a set of interconnected spreadsheets — one for active engagements, one for time tracking, another for invoicing. The sheets worked until they didn’t: data was duplicated across files, billing required manual reconciliation at month-end, and anyone who needed a current picture of capacity or receivables had to ask the person who maintained the master file.
We built Robin, a purpose-built internal platform that unifies project management, time tracking, and billing into a single system. The platform is designed around the firm’s actual workflows — not a generic tool adapted around them — with role-based views for leadership, project managers, and individual contributors.

Technical Implementation
Robin was built to be fast to use day-to-day and easy to maintain without a dedicated IT team:
- Project and Engagement Tracking: PostgreSQL data model that captures client relationships, active engagements, team assignments, and milestone history in one place — all foreign-keyed and auditable
- Billing Engine: Supports time-and-materials, fixed-fee, and retainer billing models on a per-engagement basis; calculates amounts automatically from logged time or fixed schedules and generates invoice-ready exports
- Time Logging Interface: Lightweight React time entry UI designed for daily use — minimal clicks, autocomplete on project and task, and a weekly summary view for review before billing
- Capacity Dashboard: Real-time view of team utilization across active engagements, flagging overallocation and open capacity without requiring a separate planning tool
Business Impact
Robin replaced a workflow that required constant manual upkeep with one that stays accurate by default:
- Single source of truth: All project data, time entries, and billing records live in one database — no more reconciliation between files or chasing down the “current version” of a spreadsheet
- Faster invoicing: Month-end billing went from a multi-day reconciliation exercise to a same-day review and export, with the system having tracked everything in real time
- Capacity visibility: Leadership now has a live view of team utilization rather than a periodic snapshot — resourcing decisions are made on current data, not last week’s spreadsheet
- Reduced administrative overhead: Project managers spend less time maintaining records and more time on client work; the system handles the bookkeeping that previously fell to whoever had the most context
Challenges
- Replacing fragmented spreadsheet workflows without disrupting operations
- Modeling flexible billing structures across project types
- Building for non-technical internal users
Solutions
- Designed role-based React interface tailored to each user type
- Built flexible billing engine supporting time-and-materials and fixed-fee models
- Iterative rollout with parallel operation period
Results & impact
Eliminated all spreadsheet-based project tracking
Consolidated billing into a single auditable system
Reduced time-to-invoice cycle
