Daily users
Across 90+ organizational units
Loading project...
Architect, Developer & Operator (solo)
Solo build, serving 70+ daily users across 90+ organizational units
Initial build in weeks, then continuous operation and improvement
An expense management platform for a large manufacturing division: automated monthly data collection, reminders, aggregation, and executive dashboards across 90+ organizational units. Solo-designed and built on Google Workspace with defense-in-depth safety architecture. 70+ people use it daily; the investment paid for itself in about a month.
Monthly expense management for a division this size meant a recurring, error-prone ritual: dozens of units entering figures into scattered spreadsheets, someone chasing late entries by hand, manual consolidation into accounting formats, and executives waiting days for visibility. The work was structurally repetitive — the same collection, the same reminders, the same aggregation, every single month — which made it a perfect automation target, but only if the automation could be trusted with live financial data.
I built the full pipeline on the tools people already lived in: Google Sheets as the interface (zero training required), Apps Script as the engine — automated extraction, personalized input requests, escalating reminders, multi-level aggregation, and a Looker Studio dashboard for leadership. Trust came from safety architecture: a DRY_RUN mode for every destructive operation, staged rollouts (one unit first, then all), timeout guards on long-running jobs, and automated integrity checks that reconcile every level of aggregation.
Monthly expense management for a division this size meant a recurring, error-prone ritual: dozens of units entering figures into scattered spreadsheets, someone chasing late entries by hand, manual consolidation into accounting formats, and executives waiting days for visibility. The work was structurally repetitive — the same collection, the same reminders, the same aggregation, every single month — which made it a perfect automation target, but only if the automation could be trusted with live financial data.
I built the full pipeline on the tools people already lived in: Google Sheets as the interface (zero training required), Apps Script as the engine — automated extraction, personalized input requests, escalating reminders, multi-level aggregation, and a Looker Studio dashboard for leadership. Trust came from safety architecture: a DRY_RUN mode for every destructive operation, staged rollouts (one unit first, then all), timeout guards on long-running jobs, and automated integrity checks that reconcile every level of aggregation.
Invisible infrastructure: the best enterprise tool is the one users don't notice they're using. No new logins, no new UI to learn — the system meets people inside the spreadsheet they already open every day. Safety is designed, not hoped for: every write operation can be rehearsed, every batch can be rolled out gradually, and the system reports its own inconsistencies before users find them.
Extraction, input requests, reminders, aggregation, and reporting run on triggers — the monthly ritual became a monitored pipeline.
DRY_RUN rehearsal for every destructive operation, staged rollouts, timeout guards, and orphan-trigger prevention for long-running jobs.
Automated reconciliation across every aggregation level, with anomalies surfaced proactively instead of discovered downstream.
A live Looker Studio dashboard replaced days of manual consolidation with same-day insight.
Built and hardened in production rhythm: ship a capability behind DRY_RUN, rehearse against real data, roll out to one unit, verify with reconciliation checks, then expand to all. Incidents fed directly back into architecture — a runaway overnight job became timeout guards and trigger hygiene; a formula drift became an automated integrity checker. AI-assisted development (Claude Code) compressed each iteration from days to hours.
Across 90+ organizational units
Monthly manual collection & consolidation eliminated
Development cost recovered in about a month
Users stay in the spreadsheets they already know