James Lohan Mission Control
Internal operations platform for a multi-service engineering workflow
James Lohan Mission Control is a full-stack internal operations system built for a consulting-engineering team. It centralizes enquiry intake, project delivery, staff task management, holiday approvals, workflow tracking, training flows, notifications, and service-specific delivery pipelines inside one role-aware web application.
Project type
Internal ops platform + workflow management system
Role
Full-stack developer
Year
2026
Scope
Product structure, operations UX, frontend implementation, Supabase backend, role-based access, multi-service workflow modeling, notifications, training flows, reporting




Summary
Built for
An engineering practice that runs multiple service lines in parallel and needs one internal system to manage admin intake, delivery workflows, team assignments, tasks, leave, and operational visibility.
The problem
As service businesses grow, work starts getting fragmented across spreadsheets, inboxes, ad-hoc checklists, and individual knowledge. That makes it harder to track who owns what, which stage a job is in, what still needs to happen, and how operations are performing across the team.
Approach
Mission Control was shaped as a role-aware internal platform. Admins manage the commercial pipeline and assignment layer, while team members work inside dedicated project dashboards with stage tracking, notes, and delivery-specific actions. Around that core, the product adds notifications, training, tasks, holidays, and cross-service reporting.
Showcase story
James Lohan Mission Control is not a generic admin panel. It is an operations system designed around how an engineering team actually works across multiple services. The product connects the commercial side of the workflow with the delivery side, so new enquiries can be created, assigned, progressed, converted into active work, completed, and archived inside one consistent platform.
The problem
Most internal tools break down when a business runs several delivery models at once. A planning workflow doesn't behave like site supervision. A legal-document workflow doesn't behave like quantity surveying. Teams still need one source of truth, but each service requires its own states, actions, and completion rules.
What I built
- Central Mission Control dashboard with admin and member views
- New enquiry intake flow across 8 distinct service types
- Admin pipeline boards per service line, with searchable, sortable, archive-ready oversight
- Member project dashboards with service-specific workflow progress and stage completion
- Personal and cross-team task management with workload views
- Leave booking, leave approvals, balance tracking, and company closures
- In-app and outbound email notifications
- Guided training mode with scenario-based walkthroughs and demo data
- Sales analytics and lost-project reporting views
Design decisions
The strongest product decision is structural, not visual: the app separates admin pipeline control from member delivery work. Admin users need broad visibility across all jobs, while delivery staff need focused views of assigned work. That split reduces clutter and makes the interface feel operational instead of generic. A second key decision is workflow specialization. Instead of forcing every service into the same project template, the platform models each service line with its own states, stage progression, and completion rules. Training is also built into the product itself, with guided scenarios and demo-data-aware flows, rather than left to informal onboarding.
Under the hood
The frontend is a React and TypeScript single-page app built with Vite and Tailwind. Supabase handles auth, database, row-level security, storage, and edge functions. TanStack Query drives client-side data fetching and cache invalidation across a large, actively evolving Postgres schema.
Why it matters
This project signals:
- Building serious internal software, not just marketing sites
- Translating business operations into product structure and workflow logic
- Designing for multiple user roles with different responsibilities
- Modeling several service-specific delivery systems inside one platform
- Connecting frontend UX with auth, database rules, and operational data integrity
Final positioning line
A full-stack internal operations platform for an engineering team, combining multi-service enquiry pipelines, delivery workflows, task management, notifications, training, and team operations in one role-aware system.
Under the hood
The frontend is a React and TypeScript single-page app built with Vite and Tailwind. Data, auth, row-level security, workflow storage, and edge functions are handled through Supabase. TanStack Query drives client-side data fetching and cache invalidation. The app models multiple enquiry and project types, workflow stages, time-entry data, notifications, leave records, and role permissions across a large Postgres schema maintained through SQL migrations.
React
Public and internal application interface
TypeScript
Type-safe application logic
Supabase
Auth, database, RLS, storage, and edge functions
TanStack Query
Client-side data fetching and cache invalidation
Tailwind CSS + shadcn/ui
Design system and UI components
Recharts
Analytics and reporting visualizations
Related work

Cook Master
AI recipe generator for everyday cooking
Open showcase
Lawsy
Editorial newsletter platform for modern legal minds
Open showcase
CarPark Locator
Cross-platform parking assistant for drivers
Open showcase
Busscotrade
Public B2B website + private internal CRM for invoices, receivables, inventory, payments, and reporting
Open showcase
Eye Line
Bilingual ophthalmology platform with a public clinic website and an internal scheduling dashboard
Open showcase
Home Budget
AI-powered personal finance dashboard
Open showcase