Paper Logbooks and Group Chats, Replaced by One System
A flight school ran its aircraft, instructors and students across spreadsheets, paper logbooks and messaging apps. We built the platform that holds all of it — scheduling, lessons, logbooks, documents and messaging — with each school sealed off from every other.
Industry
Aviation Training
Solution
Flight School Operations SaaS
Engagement
~8 Months, Ongoing
Services
Full-Stack Development

A School Running on Spreadsheets and Goodwill
Flight training has a scheduling problem most businesses do not: a lesson needs a student, an instructor and an aircraft to be free at the same time — and if any one of them is double-booked, the lesson does not happen and the aircraft sits idle.
Before this, that coordination lived in spreadsheets, group messages and verbal arrangements. Flight hours went into paper logbooks, which made audits and certification slow and error-prone. Medical certificates and licences were collected over email. Running a second location meant duplicating all of it.
The Problems We Set Out to Solve
The intake was drafted from the codebase and git history rather than from client interviews, so we treat this list as the design brief the product was built against.
Schedules, instructor availability and aircraft bookings spread across spreadsheets and group chats
Flight hours and student progress kept in paper logbooks, making audits slow and error-prone
No single channel for messages, documents or school-wide announcements
Running more than one location meant duplicating everything
Billing, subscriptions and document collection handled entirely outside any system
One Calendar, One Logbook, One Tenant Boundary
The architecture is dominated by two decisions: nothing crosses the tenant boundary, and the calendar is the single source of truth for who and what is free.
Strict Multi-Tenancy
Every record carries an organisation identifier and is filtered automatically — a user in one school can never see another school's students, aircraft or records, by construction.
One Calendar, Three Constraints
Instructor availability, aircraft availability and student lessons combined into a single shared calendar with conflict detection, so a double-booking cannot be created in the first place.
RBAC From Database to UI
Four roles and custom per-school roles enforced from the schema through the API to the interface — not hidden menu items.
Real-Time Without a Vendor
A self-hosted WebSocket layer drives the inbox and live announcements, keeping the messaging inside the platform instead of in a group chat.
What the Platform Does
Role-Aware Dashboard
One entry point that renders the right dashboard for a super admin, school admin, instructor or student.
Calendar & Reservations
A shared calendar combining instructor availability, aircraft availability and student lessons, with conflict detection built in.
Lesson Management
Instructors build lesson plans with tasks; students see their assigned lessons and everything inside each one.
Digital Logbook
Flight hours and lesson outcomes recorded against the right user by instructors, students and admins — replacing the paper book.
Real-Time Inbox
Instructors and students message each other live over a WebSocket channel, inside the platform.
Announcements
School-wide broadcasts composed by admins and delivered live to every user in that organisation.
User Management
Separate views for cross-organisation super admins and school-only admins, with profiles, blocking, role assignment and activity logs.
Roles & Permissions
A full UI for creating custom roles and attaching permissions, restricted to admin roles.
Aircraft Profiles
A fleet record with a detail page per aircraft, feeding the availability the calendar depends on.
User Documents
Upload and manage medical certificates, IDs and licences, backed by cloud object storage.
Subscription Plans
Manage the plans a school offers and assign members to them.
Support Tickets
Users raise tickets and chat with support without leaving the platform.
Activity Logs
A super-admin view of what is happening across every organisation on the platform.
Multi-Tenancy
Every record scoped to an organisation and filtered automatically — the boundary that makes the rest of it safe.
Laravel API, React Client, Live Sockets
Frontend
Backend
Data & Auth
Real-Time & Infra
Four Phases, Then Live
- 1
Discovery & Scaffolding
Scoped the four user roles, the multi-tenant model, and the initial set of modules before writing the schema.
- 2
Core Build
Authentication, dashboards, the calendar, lessons, logbook, inbox and announcements — plus the real-time layer that ties them together.
- 3
Hardening & Polish
User management, role-permission editing, subscriptions, support and aircraft profiles, and a pass over the design system across every page.
- 4
Production & Iteration
Live, with continued fixes and refinements driven by what the schools actually hit in daily use.
- 5
How We Worked
GitHub-flow with feature branches merged through pull requests, on a long-lived integration branch with a steady merge cadence.
What Was Delivered
16
Modules Delivered
4
User Roles
11
Core Entity Groups
~8
Months, Ongoing
Paper logbooks are gone: flight hours and lesson outcomes are recorded digitally against the right user, ready for an audit.
One calendar reconciles instructor, aircraft and student availability, so a double-booking cannot be created.
Each school is sealed off from every other — a second location is a new tenant, not a second system.
Messages, announcements and required documents all live in the platform instead of across email, WhatsApp and a shared drive.
Frequently Asked Questions
That constraint shaped the whole design. We built one shared calendar that combines instructor availability, aircraft availability and student lessons with conflict detection built in, so a double-booking cannot be created in the first place. The calendar is the single source of truth for who and what is free.
Services Behind This Build
Explore Other Case Studies
Running a training business on spreadsheets?
We build multi-tenant operations platforms where scheduling, records and compliance stop living in three different places.
Talk to a Delivery Expert

