Jordan Calhoun

Route WPT 03 FLYTL · My product · founder and sole developer

Flytline, scheduling recovery for flight schools

When a lesson cancels, Flytline finds a waitlisted student for the slot and texts them, following the SMS rules while it does it.

53policies

row-level security, 20 tables

6LLM features

held to a written eval standard

96modules

TypeScript, built solo

In flight training, a cancelled lesson usually means an empty airplane and lost revenue. Nobody has time to fill the slot.

I am a private pilot and saw this as a student. I founded Flytline and built all of it.

  1. Schools share one system but must never see each other's data.

    Choice
    Multi-tenant isolation in the database: 53 row-level security policies across 20 tables.
    Tradeoff
    Every new table needs its policies before it ships.
  2. Texting students is regulated. Consent, quiet hours, and STOP handling are not optional.

    Choice
    Every message runs a checklist first. If any check fails, it does not send, and the reason is logged.
    Tradeoff
    Some messages wait for morning instead of going out at once.
  3. Models can invent details, and the product has to keep working when the AI provider is down.

    Choice
    The matcher is deterministic and AI-free. AI only drafts friendlier wording, and a message is thrown out if the model writes a number it was not given.
    Tradeoff
    The AI is a convenience layer, never the decision-maker.
Flytline public walkthrough showing a cancelled lesson being refilled
The public walkthrough: a cancelled lesson, refilled.
  • TCPA-compliant SMS: consent capture, quiet-hours windows, STOP handling, delivery webhooks, and an audit trail.
  • A deterministic matcher: the same inputs always give the same match, and every match can be audited.
  • A live eval that checks the model leaves a missing email blank instead of inventing one.
  • The public walkthrough shows a cancelled lesson refilled from start to finish.

Next.js · TypeScript · Supabase · PostgreSQL RLS · Twilio · Anthropic Claude · Vercel

Want this kind of work on your product?

Email me