Aakash Sanghvi
Enterprise SaaS · Field Operations · AI-Powered

Building a Custom OS
for Field Services

A specialty construction company running on spreadsheets needed a single source of truth. I embedded on-site as the sole developer and product owner to build their entire operational stack.

Role
Developer & Product Owner
Type
Solo Build, Full Stack
Duration
2025 – 2026
Industry
Specialty Construction
01 — Context

The Problem

A growing multi-office field services company with dozens of technicians and hundreds of active work orders — held together by fragile spreadsheets and tribal knowledge.

Work orders in one system, scheduling in another, timesheets on paper. No visibility between them. Dispatchers double-booked. Invoices took weeks.

My Approach

I didn't build from a spec document. I went on-site, sat with dispatchers, and watched technicians working in the field. Every feature came from a real conversation.

  • Direct ObservationWatched real users interact with existing tools
  • Daily ShippingDecision at 10am, shipped by 3pm
  • Zero FilterNo PMs or Jira between me and the users
📋

Fragmented Tools

Work orders, scheduling, timesheets, and invoicing all siloed with zero connection between them.

🔀

Scheduling Conflicts

Dispatchers had no real-time visibility into tech availability. Double-bookings were common.

Delayed Invoicing

Weeks between job completion and invoice prep due to missing information and back-and-forth.

👥

Multiple User Types

Admins, dispatchers, field techs, and clients each with entirely different needs and zero unified system.

02 — The Platform

What I Built

A complete operations platform covering the full job lifecycle — from work order creation to invoicing — with strict role-specific experiences for every user type.

Work Order Detail Page
📝

Work Order Lifecycle

9-status pipeline from creation to invoicing. Status-based UI locking controls what each role can do at each stage.

📅

Calendar & Dispatch

Week/month/day views with drag-and-drop. Tech load boards with overload warnings. Print-ready dispatch sheets.

⏱️

Timesheets & Approvals

Per-job time logging, two-tier approval workflow, automated daily email reports for missing entries.

💰

Billing & Invoicing

Billing classification, invoice file management, PO tracking, and charge types — bridging field work to accounting.

🔐

RBAC & Permissions

Granular role-based access mapped to the actual org hierarchy. Job status transition gates. Per-resource limits.

🌐

Client Portal

External-facing portal for project managers. File access and status visibility scoped to their assigned jobs only.

03 — Deep Dive

Two Products, One Codebase

The office team needs a dense desktop ops platform. Field technicians need a phone-first tool they can use on a ladder in direct sunlight. Same data, completely different experience.

Desktop Dispatch Board
Mobile Tech Dashboard

The Tech Dashboard

A mobile-first product built specifically for non-technical field workers. Designed from direct on-site observation — watching technicians with gloves on, in sunlight, between tasks.

  • Large tap targets, minimal text input
  • Quick-select time logging (0.5, 1, 2h)
  • Task completion with photo uploads
  • Material tracking & reimbursement requests

Realtime Sync

When dispatch updates a work order, reassigns a tech, or adds a task — the field tech sees it instantly without refreshing. No polling, no manual refresh.

Implemented via Supabase realtime subscriptions across tasks, assignments, comments, and day notes — keeping the office and field in perfect sync.

04 — Intelligence

AI-Powered Features

Two custom AI engines designed to save hours of manual work — with human-in-the-loop safety so the AI assists but never acts alone.

Natural Language Reports

Ask a question in plain English — "Show me all active jobs with more than 20 logged hours" — and receive a fully composed dashboard with charts and data tables. No SQL knowledge required.

  • The Engine: Gemini reads a pruned schema → generates secure SQL + UI layout JSON → user confirms before execution
  • 5 Widget Types: Metric cards, bar/line/pie charts, and data tables composed dynamically per query
  • Safety Layers: Prompt guardrails → regex validation → Postgres function gating → read-only execution
AI Report Generator
AI Work Order Generator

Multimodal WO Creator

Paste an email, upload a PDF, or record audio — the AI extracts structured field data, fuzzy-matches clients and staff against the live database, then generates the complete work order in a single confirmed transaction.

  • Multimodal Input: Text paste, file upload, or voice recording — all analyzed together
  • Smart Matching: Fuzzy-matches extracted names against live database records
  • Full Injection: Creates WO + tasks + checklists + tags + assignments + PDF in one transaction
05 — Scale

Impact & Outcomes

20+
Modules Built
6+
User Roles
30+
Dev Iterations
1
Developer

Status-Based UI Locking

A ternary permission chain that controls what's editable at each WO status. Different statuses unlock/lock different UI surfaces for different roles.

Multi-Office Filtering

A single global selector that filters every module (WOs, calendar, billing, timesheets, people) without acting as a hard permission boundary.

Realtime Collaboration

Supabase realtime subscriptions across tasks, assignments, comments, and day notes. Office updates appear on field tech phones instantly.

Designing for the Field

Building for non-technical users — field techs on their phones in the sun, office staff in spreadsheets, clients who just need their files.

Tech Stack

Next.js 15ReactTypeScriptTailwind CSSSupabasePostgreSQLSupabase RealtimeSupabase RLSGoogle Gemini AIVercelResendReact EmailRechartsjsPDFWeb Speech API

Need an architect for
your next platform?

Whether you need a full enterprise platform from scratch or AI features integrated into an existing stack — let's talk.