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

James Lohan Mission Control dashboard displayed on a desktop monitor in an office, showing Work Management, Project Management, Team & HR, and My Tasks sections
Structural report enquiry list displayed on a desktop monitor, with contact and job details redacted for privacy
Holiday booking screen on a desktop monitor, showing leave balance, calendar, and office closure dates
Manage Tasks admin view on a desktop monitor, with task status columns and team workload filters

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