Features

Everything in the box.

No "coming soon" pages and no premium tier hiding the good stuff. If a feature is listed below, it's working in the product today. Each category groups the full feature set so you can audit the depth before signing up.

โ—‰

Sign up & pay

Families enroll without a phone call. Every fee is on the page before they agree. Tuition goes straight to your bank. No password required, ever.

  • Your own school page

    Branded page at /schools/your-slug. Programs, packages, every fee visible up front. Families can browse without signing up; checkout opens when they're ready.

  • Programs and packages

    Bundle your programs (Teen, Adult, Refresher) into priced packages โ€” 'Standard 6-hour BTW', 'Plus 10 lessons', whatever your school sells.

  • Every fee, visible up front

    Tuition, admin fee, credential cost, reschedule policy โ€” laid out as line items before checkout. No 'oh and one more thing' surprises after the family pays.

  • Guest checkout โ€” no password to set

    Parents complete enrollment, pick a program, and pay without ever choosing a password. The account is created behind the scenes from email + phone. Removes the single biggest funnel killer.

  • Magic-link sign-in

    Email + one-tap link. That's the canonical auth flow. Password is optional and never blocking. The same link works every time โ€” sign in from any device.

  • Account merging at checkout

    Email already in our system? We recognize it. The new enrollment links to the existing family record โ€” no 'account already exists' friction wall, no duplicate user.

  • Your bank, not ours

    We don't sit in the middle. Tuition flows straight from the family's card to your bank account through Stripe.

  • Pay once, pay later, or pay monthly

    Three checkout options per package: one-time charge, buy-now-pay-later (Klarna or Affirm), or recurring monthly installments. You pick which to offer.

  • Honest refunds

    Refund a drop-out and you get the platform fee back too โ€” you shouldn't eat the cost of a transaction that didn't stick.

  • Time-to-paid as a north-star metric

    Your dashboard tracks median time from new enrollment to first paid payment. Add friction anywhere in the funnel and you'll see it on the next dashboard load.

๐Ÿ“–

Online classroom

A full classroom you can install instead of build. Start with our lessons and quizzes, edit anything you want, or import your own materials with AI help.

  • Seeded national-core pack

    10-module MN-aligned national-core classroom pack pre-installed. Driving as responsibility, vehicle familiarization, signs and signals, intersections, lane discipline, sharing the road, highway driving, adverse conditions, night driving, MN laws.

  • MN BTW 6-hour progression

    A platform-owned BTW progression pack. Lesson 1: controls and parking lot. Lesson 6: test prep. Each lesson lists the rubric skills the instructor should focus on. Auto-surfaces on the instructor's today view at the right number.

  • 51 state overlays

    Every state + DC has a seeded overlay covering local rules, GDL stages, and state-specific terminology. Schools pick their state and the overlay applies.

  • Install once, edit anything

    You get your own editable copy. When we improve the originals, you get a notice โ€” never a forced overwrite.

  • AI-assisted curriculum import

    Paste or upload your existing materials. Claude segments the content into lesson-sized chunks and proposes which module slot in your installed pack each piece belongs in. You review and confirm โ€” only confirmed segments become school lessons.

  • AI-assisted indicator on every imported lesson

    School lessons created via AI import carry a visible 'AI-assisted' badge plus the approver's name and date. Editorial responsibility stays with the school.

  • Video, PDFs, images

    Drop assets into any lesson. Files are served privately to your students โ€” never accessible from another school's account.

  • Paste any YouTube link

    We figure out the format โ€” watch URLs, short links, embeds, Shorts, live, mobile. Just paste and go.

  • Quizzes that teach

    Multiple choice with an explanation after each answer. Students don't just get a score โ€” they learn why they got it wrong.

  • Outcomes per content version

    Quiz pass rate, road-test pass rate, completion count โ€” for each installed pack version. Identify weak modules over time; eventually rank packs by outcomes, not vibes.

  • Parent supervised-driving logbook

    The state-required 50 parent-led hours have a real surface. Parents log every drive (date, minutes, night, conditions). Instructors countersign in person. Progress bar to target.

โ–ฆ

Scheduling

One constraint engine, three booking surfaces. Admin board, parent self-serve, AI auto-suggest at sign-off. A slot one surface offers is a slot the other two will accept.

  • Pure constraint engine

    Takes (student, lesson kind, time window) and returns ranked valid slots filtered by instructor availability + certifications, vehicle compliance + conflict checks, school business rules. The single source of truth for 'is this bookable?'

  • Admin booking with click-to-prefill suggestions

    Pick a student, see the top 10 valid slots for the next 14 days. One click prefills the booking form with start time + instructor + vehicle. Or book manually with live validation.

  • Parent self-serve booking

    Family sees top valid slots filtered by every rule โ€” instructor availability, vehicle status, conflicts, school policies. One tap to book.

  • AI auto-suggest at sign-off

    The moment an instructor completes a lesson, the engine pre-computes top 3 next-lesson slots and surfaces them to the parent within 60 seconds. Next lesson lands while the parent's attention is still on driver ed.

  • Lesson series first-class

    'Tuesday and Thursday at 4pm for six weeks' is one logical booking with six linked appointments. Reschedule asks 'just this one or the rest of the series?' Progress is tracked at the series level. Invoice shows the series.

  • Live scheduling board

    Real-time admin board powered by Cloudflare Durable Objects. A booking made on the parent portal lands on the admin board within a second. Today and tomorrow at a glance, grouped by instructor.

  • No double-bookings

    Try to put the same instructor in two places at once, or the same car with two students โ€” the system says no and tells you what's already there.

  • Smart warnings, easy overrides

    Booking outside an instructor's posted hours? You'll see a warning with a one-checkbox override for the times you've worked it out off-platform.

  • Weather hold โ€” bulk cancel a day

    One click marks every scheduled lesson on the chosen day as weather-hold, with reason. Families notified. Reversible per-lesson.

  • Capacity heatmap with gap callouts

    14-day forward look on the owner dashboard with 'promote these gaps โ†’ Tuesday afternoon is open' callouts. Underbooked days surface so you can advertise into them.

  • Automatic reminders

    24 hours and 1 hour before each lesson, families get a friendly email. If the system retries, nobody gets a duplicate. Hands off.

  • Your cancellation rules

    Pick your deadline, your late-cancel fee, your no-show fee, and whether families can cancel themselves. Inside-the-deadline cancellations charge the fee automatically.

  • One-tap no-show

    Student didn't show? One button on the instructor's phone marks it, charges the fee, and updates the timeline.

๐Ÿš—

In the car (instructor experience)

The instructor is the daily user whose engagement determines whether the platform lives. Every daily action works one-handed, in three taps, with poor cell signal, in the front seat of a parked car.

  • Today view is the app

    Time, student, pickup address with one-tap maps link, vehicle, lesson number in the student's progression, current skill focus, parent phone, last lesson's notes inline. Everything you need before the next pickup, no scroll required.

  • BTW lesson plan auto-surfaces

    For each BTW lesson the app shows the right plan from the platform's MN-aligned 6-hour progression โ€” controls and parking lot on lesson 1, highway on lesson 4, test prep on lesson 6. The 'what was I supposed to teach today?' problem solved.

  • Carry-over notes

    Whatever you flagged at the previous lesson's sign-off ('work on highway merging next') shows up automatically at the top of the next appointment with that student.

  • Structured 15-skill BTW rubric

    Tap-to-rate proficiency on the 15 universal BTW skills (pre-drive, vehicle control, lane positioning, lane changes, following distance, scanning, speed control, intersections, turns, backing, parallel parking, three-point turn, hill parking, highway, road-test readiness). Powers parent progress summaries, credential readiness, and the instructor scorecard.

  • Lesson notes that go somewhere

    Freeform notes visible to school admin and the family. Carry-over focus for the next lesson is prefilled at the top of the next appointment with that student.

  • Credential readiness recommendation

    When every rubric skill is at proficient and overall road-test readiness is at independent, the credential workflow surfaces the student as ready for the school admin to issue. Your rubric data drives the recommendation โ€” your judgment counts.

  • Two-ping geolocation breadcrumbs

    Per-school policy (off / opt-in / required). One GPS reading at lesson start, one at lesson end. Not a tracked route, not visible to parents. Defends good instructors against false accusations and catches the 'ghost lesson' pattern that ends school licenses.

  • Vehicle check-out / check-in

    At shift start: pick the car (compliance-blocked cars don't show up), enter start odometer, fuel level, walk-around checklist. At shift end: end odometer, fuel level, optional 'flag an issue' field that auto-takes the vehicle out of service.

  • Open-shift offers

    When admin posts an extra lesson (or a no-show creates a gap), eligible instructors see it on their today page. Tap 'Claim shift' โ€” first to write wins via a single UPDATE statement so two simultaneous taps can't both win.

  • Substitute coverage requests

    Conflict on Tuesday? Tap 'Need coverage' on the lesson. It becomes an open shift on everyone else's queue. Whoever claims it first gets it.

  • Cross-school identity

    1099 across two or three schools? Your today view aggregates lessons from every school you teach at, badged so you see which is which. Earnings aggregate across all schools; per-school pay rules carry through.

  • Pay transparency every visit

    Earned this period, pending payout, average per lesson โ€” three tiles at the top of your today page. No spreadsheet, no calling the office.

  • Sign off parent drives

    Parents log their supervised practice drives. You verify them. Only signed entries count toward state-required hours.

  • Past and upcoming

    Two more views โ€” last 30 days, next 30 days. Enough for timesheets and forward planning.

โ™ก

Family experience

Parents and students see the same page. One login per family even when kids are at multiple directio schools.

  • All your kids, all your schools, one page

    If you have two kids at the same school they both show up. If you have kids at two different directio schools, they show up too โ€” grouped by school. One login, every child.

  • One timeline per kid

    Enrolled โ†’ classroom โ†’ permit โ†’ behind-the-wheel โ†’ supervised practice โ†’ road test โ†’ certificate. With real numbers: 4 of 6 BTW hours, 30 of 50 practice hours.

  • Book the next lesson in one tap

    After your kid's lesson, the AI engine surfaces 3 suggested next-lesson slots on your kid card. Tap 'Book' โ€” done. The whole no-show economics problem fixed at the source.

  • Cancel yourself

    No more calling the office at 9:01 AM. Cancel right from /family/lessons. If you're inside the deadline, the fee is disclosed before you confirm.

  • Sign waivers from your phone

    Type your name, tick the box, done. Or upload a PDF the school asked for. All stored alongside your kid's record.

  • Practice log that counts

    Log each drive: date, minutes, night minutes, conditions (city / freeway / night / weather), notes. Your kid's instructor signs off in person so the state actually counts the hours. Live progress bar to your state's target.

  • Completion certificate

    School-branded, dated, with a unique serial number. Print it, save it as a PDF, hand it to the DMV. Yours forever.

โ˜…

Owner dashboard

The weekly love letter. Owners log in to answer 'is this thing making me money?' If the dashboard doesn't answer in 30 seconds, it failed. Here's the surface that doesn't.

  • 30-second health answer

    Top card: revenue this period vs prior, payment count, green / amber / rose status. The owner with 30 seconds gets the answer; the owner with more time goes deeper.

  • Dollars-recovered story, named

    Three numbers: no-show fees collected, late-cancel fees collected, total recovered. When their sum exceeds your subscription, 'is directio worth it' answers itself.

  • Period selector + prior-period deltas

    7d / 30d / 90d / YTD. Every metric shows the comparison vs the prior period of the same length. The dashboard has memory.

  • Enrollment funnel + time-to-paid

    Enrolled count, paid through count and percent, average duration from enrollment to first paid payment. The funnel that justifies the marketing spend.

  • 14-day capacity heatmap with gap callouts

    Day-level heat map of upcoming lessons. Gap callouts surface underbooked days: 'Tuesday afternoon is open โ€” promote it.'

  • Outstanding A/R + chase list

    Unpaid payments and unpaid no-show fees, with totals and one-tap reminder actions. The operational money the dashboard surfaces so nobody hunts for it.

  • Compliance health

    Credentials ready to issue. Students stuck in a journey state >30 days. Instructor licenses expired or expiring in 30 days. Road test pass rate. The 'what might bite me next week' surface.

  • Per-instructor scorecard

    Completed lessons, no-show rate (colored pill), upcoming-14d count per instructor. Click into the instructor for detail.

  • Per-vehicle utilization

    Lessons supported per period, upcoming-14d per vehicle. Identify the under-utilized car the school is paying insurance on for no reason.

  • Multi-location comparison

    Schools with 2+ locations get a side-by-side per-location breakdown. Single-site schools see no extra noise.

  • Daily digest email

    Optional. One email a day with revenue, recovered, payroll, lessons next 24h, new enrollments, outstanding A/R, license expiries. Comes to your phone when you don't come to the dashboard.

  • Customizable card toggles

    Hide what doesn't matter for your school. No widget builder, no drag-and-drop โ€” just checkboxes. Sleek and simple.

  • CSV snapshot export

    Full dashboard as a single CSV file for your accountant or board. One click per visit.

โ–ค

Fleet & vehicles

Cars constrain revenue more directly than people do. A car out for service collapses a day; expired insurance takes down a week. Auto-blockers prevent the wrong car from ever showing up on a schedule.

  • Full vehicle record

    VIN, color, year, plate, fuel type, dual-controls flag, current odometer, status (active / in service / out of service / retired), quirks notes, photo.

  • Insurance + registration + safety inspection

    Expiration tracking on all three with 90 / 60 / 30 / 7-day reminders. Lapse = auto-block from being scheduled. Dashboard surfaces the count.

  • Maintenance threshold tracking

    Per-vehicle thresholds against odometer โ€” oil change, tire rotation. Plus a date-based safety inspection threshold. Auto-block when overdue.

  • Maintenance event log

    Date, kind, odometer at service, cost, vendor, notes. Logging an oil change advances the next-oil threshold +5,000 mi. Tire rotation +7,500 mi. Safety inspection +1 year.

  • Vehicle shifts with odometer chain

    Instructor checks out the car at shift start (odometer, fuel, walk-around). Checks in at end (odometer, fuel, optional flag). Yesterday's end odometer must match today's start within tolerance โ€” light-touch fraud and accident detection.

  • Mid-shift out-of-service flag

    Instructor reports a problem from their phone; vehicle status flips to out-of-service automatically. Upcoming lessons reroute when possible.

  • Photo upload

    Helps instructors and students recognize the car at pickup. Stored privately in Cloudflare R2 with auth.

  • Multi-location fleet

    Vehicles belong to a location (in multi-location schools). The constraint engine and dashboard respect home-location.

  • Retirement path

    Status enum preserves history when a vehicle leaves the fleet (resale, totaled, lease return). Every lesson it ever supported keeps its vehicle reference intact for audit.

$

Compensation & payroll

If owners are still running payroll in a spreadsheet, directio is additive โ€” and therefore cancellable. The financial substrate that makes the product load-bearing.

  • Declarative versioned compensation rules

    Sibling to the state rule-pack engine. Rate types: per_lesson, per_hour, per_mile, flat_shift, no_show_stipend, weekend_differential, evening_differential. Conditions: kinds, day of week, weekend, evening. Per-instructor overrides layer on top.

  • Versioned, audit-defensible

    Every rate change creates a new comp_rule_version. Historical lesson_payout rows keep pointing at the version they were computed against. A state audit can reconstruct exactly how each payout was built.

  • Computed at sign-off

    The instructor's running pay number is current the moment they complete a lesson. No end-of-period accounting.

  • Pay period engine

    School configures cadence (weekly / biweekly / semi-monthly / monthly). The engine closes each period on schedule and emits per-instructor payout drafts. Cron-driven; admins can also close early.

  • Payout draft workflow

    Admin reviews each draft, adds an adjustment with a note (every adjustment change recorded as an event), approves, marks paid with method (Stripe / check / external payroll) and a reference number.

  • Adjustment audit history

    Every change to a payout draft's adjustment is logged with prior value, new value, note, who changed it. Defends against silent payroll mutation.

  • Payroll-ready CSV per period

    Per-lesson rows + adjustment + per-instructor subtotal. Direct paste into Gusto, Justworks, ADP, QuickBooks Payroll.

  • Year-end 1099-NEC summary CSV

    One row per instructor with YTD paid total and a 'meets $600 IRS threshold' flag. Suitable input for 1099 filing software.

  • Tax document storage

    W-9, W-4, I-9, 1099-NEC stored in audit-logged R2 with download. Per-instructor record. The school retires the payroll binder.

  • Instructor pay transparency

    Every instructor sees every dollar they're owed, when it pays out, and the breakdown of how it was computed. No black box. Disputes filed in-app with the lesson record attached.

  • No-show fee engine

    Per-school configurable. Auto-charges the family's authorized payment method when a no-show is logged. Instructor pay for the no-show slot follows the policy. The event lands as a clear line item.

  • Waitlist auto-backfill

    A cancellation pushes the slot to the waitlist first; the school recovers slot revenue that would otherwise be lost. Open-shift queue for instructors picks up the rest.

๐Ÿ“œ

State compliance

Each state has its own rules. We handle them honestly โ€” no marketing-page lies about coverage depth. Per-school adapter maturity is visible on page one of onboarding.

  • Minnesota deep; others co-built

    Minnesota is the state we've gone deep on โ€” Blue Card credential, three GDL stages, fees, full audit trail. A handful of others (Texas, California, New York, Florida, Ohio, Illinois, Washington) have real per-state work at varying depth. Schools in every other state sign up as design partners and we co-build their state's rules with them.

  • Three honest maturity levels

    Some states are a guided checklist (Level 1). Some include the official PDF (Level 2). Some submit directly to the DMV (Level 3). We tell you which is which โ€” your settings page shows your state's level with the last-verified-with-DPS date.

  • Adapter maturity on page-one onboarding

    The school's home state's adapter maturity is the first thing they see in the onboarding checklist. Schools never discover their state's reality in week 2 anymore.

  • Legal-blocker disclosures

    TX schools see the TDLR provider-approval note from the moment they sign up. CA schools see the DL 91 approval situation. Honest disclosure beats unwelcome surprises.

  • Override when you need to

    Your school does it slightly differently from the default? Adjust individual rules without throwing away the rest of the state's setup.

  • Permit credentials

    Blue Card, ITTD slip, driver-education certificate โ€” whatever your state calls it. Unlocks on the student's timeline when they hit the requirement. Hand it over, print it, or submit it electronically.

  • External credential bridging

    A student arrives already credentialed by their previous school? Record the issuance, upload the proof PDF, and the eligibility engine treats it as native. No re-issue, full audit trail.

  • Partial-state enrollment

    Hours completed elsewhere become first-class on the enrollment โ€” priorHoursClassroom + priorHoursBtw. The credential engine satisfies state requirements without forcing a re-do.

  • Public state-coverage page

    Every state's current adapter maturity, last verified date, any legal-blocker notes, and what's needed to level up. Schools shopping the product see exactly what to expect.

  • State feature-request log

    Filed requests for things states could automate but don't. Customer schools can co-sign to signal collective DPS demand. Co-signed lists carry weight in state DPS conversations.

  • Design-partner intake

    Schools who want to push their state's adapter from Level 1 to Level 2 or 3 sign up as design partners. Product input weight, not a discount.

  • Road test results

    Log each attempt. We calculate your pass rate and first-try pass rate. Show it on your public page โ€” families look at this when picking a school.

โ†ป

Migration & data portability

The hard part of migration isn't the file format โ€” it's the audit bridge. A student mid-journey under another system must finish with one defensible record. We model that.

  • Student CSV importer

    AI-assisted column mapping (Claude figures out which header is firstName), validation preview, dry-run before commit. Idempotent: re-running the same CSV doesn't duplicate.

  • Instructor CSV importer

    Same shape for the instructor roster. Headers recognized: firstName / lastName / fullName, email, phone, notes.

  • Vehicle CSV importer

    Full fleet bring-over: label, makeModel, year, plate, vin, color, fuel, odometer, insurance carrier/policy/expiry, registration number/expiry. Date strings accepted as YYYY-MM-DD.

  • Payment ledger CSV importer

    Past payments import as reference-only ledger entries. Stripe-managed payments go forward from cutover. Outstanding balances flow into the active ledger.

  • Provenance on every imported row

    Every row carries importSource, importExternalId, importBatchId. The audit log links every imported row back to who imported them and when. Schools auditing the migration can reconstruct.

  • 'From previous system' badges

    Imported student records show a visible badge above the enrollments section so admins always know the migration status at a glance.

  • External instructor attribution

    Imported BTW hours preserve the original instructor's name and license number when that instructor isn't a directio user. The audit trail records who actually taught, not just who imported.

  • Symmetric exporter on day one

    A school can leave with their entire data set in the same CSV shape they imported with. Seven entities (students, guardians, enrollments, appointments, instructors, vehicles, payments). Trust signal + anti-lock-in.

  • White-glove migration for the first cohort

    The first N customer migrations are run as a paid service by the directio team. Surfaces the edge cases that productize the self-serve importer; removes friction from the most important early conversions.

โš™

Back office

The unglamorous tools schools actually open every day. Imports, paperwork review, fees, branding, the works.

  • Paperwork review queue

    Every signed waiver, every uploaded form, in one list. Approve, reject (with a reason for the record), or send it back for review.

  • Late-cancel and no-show fees

    Pending, paid, waived โ€” three tabs. Headline tiles show how much is outstanding. One click to mark paid or waive.

  • Branded public page

    Flip a switch and your school gets a real marketing page at /schools/your-slug. Tagline, about copy, programs, checkout โ€” your brand throughout.

  • Your logo, your colors

    Set your brand color, upload your logo, pick a custom font. Every page your families see looks like your school, not ours.

  • Locations management

    Multi-location schools manage their addresses, scope vehicles + instructors to locations, see per-location utilization on the dashboard. Single-location schools ignore this entirely.

  • Instructor credential tracking

    State license, jurisdiction, expiration. Background check completion + expiration. Continuing-ed hours YTD against annual requirement. Reminders at 90 / 60 / 30 / 7 days; auto-block on lapse.

  • Onboarding checklist

    Add an instructor. Add a car. Pick your state. Install lessons. Connect your bank. Tick each box and you're operating. Your state's adapter maturity is the first card.

โ—ฌ

Audit & accountability

Every compliance-relevant action, credential issuance, payout approval, vehicle status change, instructor sign-off is recorded. And readable.

  • Audit log viewer

    Newest-first list of every recorded event with cursor pagination. Filter by action, entity type, entity id. Click any entity to scope to that exact record's history.

  • Per-event payload

    Each event has its JSON payload pretty-printed in a details disclosure. State audits and IRS inquiries can reconstruct what happened, who did it, when.

  • Tax-doc access audit-logged

    Every W-9 / W-4 / I-9 / 1099 upload, download, and delete is recorded. Compliant document workflow without a paper binder.

  • Geolocation breadcrumb storage

    When school policy enables it, every BTW lesson sign-off captures a two-point GPS evidence trail. Stored on the appointment with the rest of the audit data. Same retention as the lesson.

  • Audit log of import batches

    Every CSV import records the batch id with inserted + skipped counts. Audit query reconstructs every row brought in from every source system.

?

Find your way

When your student needs to find the nearest DMV or get an answer about the Blue Card at 9pm, it's all in the app.

  • Map-based BTW finder

    Family enters their ZIP. They see your school's step-by-step flow plus the nearest testing centers, partner schools, and DMV offices on a map.

  • Fill in your local directory

    Empty directory for your state? Click 'enrich' and we'll surface verified candidates you can vet and publish.

  • Your own steps

    Build your school's behind-the-wheel flow with whatever steps fit: instructions, finding a place, external link, upload a doc, make a payment.

  • AI help that knows your school

    Families ask questions in plain English. Answers pull from your school's help articles and the platform library โ€” so 'when do I get the Blue Card?' gets a real answer.

  • Listen instead of read

    Long help answers can be read aloud โ€” handy for parents driving or students with reading challenges.