Operations · Internal tools
Internal Ops Dashboard
Replaced 6 spreadsheets. Saved 12 hours/week on manual reporting.
Industry
Operations
Service
Internal tools
Timeline
6 weeks
Result
Replaced 6 spreadsheets. Saved 12 hours/week on manual reporting.
Internal Ops Dashboard
Industry: Operations / Professional Services
Service: Internal tools
Timeline: 6 weeks
Result: Replaced 6 spreadsheets. Saved 12 hours/week on manual data entry and reporting.
The situation
A professional services firm with 40 employees was running its operations across 6 interlocked spreadsheets. Projects, clients, invoices, staff assignments, utilization, and reporting all lived in separate files maintained by an operations coordinator.
Every Monday morning, the ops coordinator spent 3 hours pulling numbers from each spreadsheet into a summary report for leadership. Every time a project changed status, 3 spreadsheets needed updating. Data was inconsistent, formulas broke, and the process was fragile.
They'd looked at off-the-shelf tools — Harvest, Teamwork, Monday.com — but none matched how they tracked work. They needed something that matched their specific project and billing model.
What we built
A custom operations dashboard covering the full project-to-invoice lifecycle.
Project management: Create and manage client projects with phases, milestones, and status. Role-based views — account managers saw their clients, leadership saw everything.
Staff assignment: Assign team members to project phases with estimated hours. Auto-calculate utilization across the team by week. Flag over-allocated staff in the scheduling view.
Time tracking: Simple weekly timesheet — team members log hours against projects. Manager approval flow. Locked timesheets after approval to prevent retroactive edits.
Invoicing: Generate invoice summaries from approved timesheets and fixed-fee milestones. Not a full accounting system — a data layer that fed their existing accounting software via CSV export.
Reporting: Live management dashboard replacing the Monday morning report. Project profitability, staff utilization, WIP (work in progress) summary, and 90-day pipeline view. All exportable to CSV and Excel.
Technical approach
The client had a PostgreSQL database from a previous system with 3 years of historical project data. We built on top of that data rather than migrating.
Stack: Next.js + TypeScript frontend, Prisma ORM, existing PostgreSQL database, deployed on Vercel + Railway.
Migration strategy: We ran both the old spreadsheets and the new system in parallel for 2 weeks. The operations coordinator compared outputs daily and flagged discrepancies. We fixed 4 data model issues that only appeared with real historical data.
Role system: Three roles — Admin (full access), Manager (their team + reports), Staff (own timesheets + project visibility). Implemented with row-level security in Postgres and middleware checks in Next.js.
Performance: 3 years of historical data meant some queries were slow. Added targeted indexes and materialized views for the 4 most common report queries. All dashboard pages load under 800ms.
Results
- Spreadsheets replaced: 6 → 1 operational system
- Weekly ops overhead: 12 hours/week → 2 hours/week (the remaining 2 hours are approvals and exceptions that need human judgment)
- Monday report time: 3 hours manual → 2 minutes (open dashboard, export PDF)
- Data consistency errors: Eliminated — single source of truth
- Adoption: 100% of team using timesheets by week 3 (with a small incentive from management)
Handoff
At week 6, the client's operations coordinator had a 3-hour training session and a library of screen-recorded walkthroughs covering every workflow. The technical documentation covers the database schema, API routes, and how to add a new report. Silver Owl maintains a 10-hour/month retainer for ongoing support.
Illustrative engagement — details anonymized.