Custom project management system built for the architecture deal lifecycle.
A mid-size architecture firm was managing proposals, projects, invoicing, and documents across spreadsheets and email. Revenue was leaking through the cracks.
A mid-size architecture firm was managing proposals, projects, invoicing, and documents across spreadsheets and email. Revenue was leaking through the cracks.
The problem
Proposals lived in email. Projects lived in spreadsheets. Invoices were built manually, sent late, and sometimes never sent at all. Billable milestones slipped by unnoticed. Required documents went missing at close.
Spreadsheets + email
How the pipeline was managed
No single source of truth. Project status lived in someone's inbox. Milestones were tracked in a shared sheet that stayed current only when someone remembered to update it.
Unbilled milestones
Revenue sitting uncollected
Milestone completion and invoice generation were two separate manual steps — often separated by days or weeks. Some milestones were completed and never invoiced. The firm had no way to know what it was owed until someone dug through the spreadsheet.
Missing docs
Required files missing at project close
Closeout required a standard set of deliverables: permits, final drawings, sign-off letters. There was no enforced checklist. Files were scattered across email threads and local drives. At close, someone had to hunt.
The solution
We built a single application that covers every stage — from proposal to closeout. Six interconnected modules, all pulling from the same data. Nothing lives in email or spreadsheets anymore.
Real-time action items sorted by urgency: upfront invoices not yet sent, overdue invoices (dollar amount and days past due), unbilled milestones ready to bill, missing required documents, and open checklist items. The firm's highest-priority work is visible the moment they log in — no digging required.
Stack: Next.js server components, Prisma queries, real-time aggregation across projects.
Each project record holds: client contact info, ordered project stages, milestones with billing status, expenses with markup applied, a complete invoice history, and an enforced document checklist. Every piece of data that matters to a project lives in one place and is always current.
Stack: Prisma + PostgreSQL relational model, TypeScript API routes, Tailwind UI.
A drag-and-drop visual board showing every active project by stage — from Proposal through Schematic Design, Design Development, Construction Documents, Permitting, Construction Administration, and Closeout. Moving a card updates the project record instantly. The whole pipeline is readable at a glance.
Stack: React DnD, optimistic UI updates, stage-gated transitions with validation.
A unified calendar that surfaces milestone due dates and project deadlines across all active projects in one view. Filter by project or stage. Upcoming obligations are visible weeks ahead — no more missed billing windows because a milestone date lived in a spreadsheet nobody checked.
Stack: FullCalendar integration, Prisma milestone queries, per-project color coding.
Generate proposals and invoices directly from the system. Line items pull automatically from tracked milestones and marked-up expenses — no manual reentry. Proposals convert to projects in one click. Invoices are dated, numbered, and logged against the project record the moment they're issued.
Stack: Server-side PDF generation, milestone-to-line-item mapping, invoice state machine (Draft → Sent → Paid → Overdue).
Each project gets a secure, shareable client-facing view showing: current project status and active stage, available documents (permits, drawings, deliverables), and invoice history with payment status. Clients have the visibility they need without email back-and-forth. The firm controls what's shown.
Stack: Token-authenticated public routes, scoped Prisma queries, read-only document access.
The results
Three outcomes the firm cared about most. Every one of them was a direct consequence of the system enforcing what the spreadsheets couldn't.
$0
Revenue leakage
Every billable milestone is flagged automatically on the dashboard the moment it's marked complete. Nothing falls through without a prompt to invoice.
1 screen
Full pipeline view
Replaced the combination of spreadsheets, email threads, and memory. Every project, stage, milestone, and outstanding item visible in one place.
0
Missed at close
The required document checklist is enforced per project. Closeout cannot proceed while required files are outstanding. The hunt is gone.
Built for one firm. Replicable for yours.
We scope, build, and hand off custom software for service businesses. Fixed price, you own the code, no retainer after delivery. Book a free 30-minute audit call and we'll tell you exactly what we'd build for your workflow.
Book a Free Audit Call