Changelog

82 releases · 2026-05-022026-05-31

Everything we've shipped at TarmacLabs.

One feed for the whole company — Trim, AutoBrief, the free tools, and tarmaclabs.org itself. Filter by product if you only care about one. For the "why" behind any release, check the journal.

click to toggle · double-click for solo

  1. May 31, 2026· 14 releases

    v1.6Predictive compliance calendar + tomorrow's exposure panel

    AutoBrief

    Calendar at /calendar shows upcoming expirations (medical, BFR, IFR currency, aircraft inspections) before they become NO-GOs. Tomorrow's exposure panel on /dashboard flags which flights are at risk for the next 24 hours. The shift from reactive (catch at brief time) to predictive (catch before you schedule).

    v1.5Compliance dashboard + fleet risk score + override analytics

    AutoBrief

    Two new dashboards: /dashboard gets a compliance health panel with a computed fleet risk score (weighted across currency, medical, aircraft, squawk severity), and /analytics tracks override patterns — who overrides, how often, what reasons they cite. Both feed the chief-pilot's weekly review.

    v1.4Squawk logger + aircraft countdowns + handoff checks

    AutoBrief

    Aircraft get a squawk log (add/resolve per-tail with severity tiers), annual + 100-hour countdown timers with advisory thresholds, and a return/handoff check for post-flight condition recording. The aircraft side of the dispatch brain is now operational.

    v1.3Override PDF export + shareable check links + expiration alerts API

    AutoBrief

    Override records export as PDF (the insurance carrier's favorite feature). Individual check results get a shareable link. The expiration-alerts compute helper feeds the calendar and can later drive email notifications.

    v1.2Student solo endorsement tracker + CFI FIRC + dispatcher notes + guest pilot checks

    AutoBrief

    Four incremental features filling operational gaps: solo-endorsement tracking for Part 61 students, FIRC currency on CFI records, free-text dispatcher notes on check records, and a guest/one-time pilot path (walk-in intro ride without full roster setup).

    v1.1Blue Sky Aviation sample school + settings + this-week widget + roll-call link

    AutoBrief

    Onboarding improvements: a realistic sample school (5 pilots, 4 aircraft, deliberate issues) so prospects see the product working before entering their own data. Settings page with scheduler-type + briefing-email fields. This-week expiry widget on /briefing. Run-check links pre-fill from the roll-call board. Plus waitlist Resend audience sync + homepage email capture.

    v2.4Playwright E2E: auth gates + invite flow (9 passing, 3 Tier-2 skip)

    Trim

    First real E2E test suite for Trim — Playwright drives the actual browser against the Vercel preview, verifying auth gates don't leak and the invite-accept flow works end-to-end. 9 passing tests, 3 skipped at Tier-2 (need live Supabase fixture). Foundation for regression confidence before every merge.

    v2.3Unit test coverage sprint — 124 tests across 3 core modules

    Trim

    Three test suites landed in one arc: computeStage + invoiceStatus + pacingStatus (81 tests), detectAtRiskStudents covering all 8 risk signals (43 tests), and createInvoiceFromLesson (15 tests). Total unit test count jumped from where we were to 124 verified assertions on the business logic layer.

    v2.2Security + infra hardening: session enforcement + Resend key fix + TS 6.0

    Trim

    Security: cfi_signup notify kind now requires a session (was unauthenticated). Infra: stripped wrapping quotes from RESEND_API_KEY in 3 route handlers (the key was silently 401-ing with quotes baked in from an env-var paste). TypeScript bumped ^5→^6 + @types/node ^20→^25 for sibling parity across all 3 repos.

    v2.1Activation instrumentation: lesson.booked event + add-student events + weekly data digest

    Trim

    Activation funnel instrumented end-to-end: lesson.booked logged at the schedule path, add-student events on all call sites, onboarding.aircraft-skipped tracked. Weekly data digest cron piggybacked on Sunday student-digest — the founder gets a numbers email once a week without checking the dashboard.

    v2.0Phase 0 shipped: CI smoke on cfitrim.com + /admin/beta-status cohort dashboard

    Trim

    Two Phase-0 items closed: a lightweight CI smoke test that runs against the live cfitrim.com on every PR (catches deploy regressions without a full E2E rig), and /admin/beta-status — a cohort dashboard showing signup-to-active conversion, last-active dates, and engagement tiers for the 6 beta CFIs. The first time there's a data surface for 'is the product working for real users.'

    v1.9Founder reactivation email endpoint + living-docs CI gate

    Trim

    One-shot /api/notify endpoint for the founder to trigger a reactivation nudge to dormant CFIs (manual send, not automated — outreach is still David-gated). Plus the living-docs-gate CI that fails PRs if docs are >7 days stale — same pattern shipped to TarmacLabs and AutoBrief.

    v4.2/admin/data — internal KPI dashboard

    TarmacLabs

    Token-gated admin dashboard at /admin/data: waitlist signups over time, contact submissions over time, and a 30-day rolling chart. One URL to check whether the marketing surface is generating any signal at all — and the first time we had a data view of the pipeline (it's currently zero, which is the honest answer).

    v4.1Living-docs migration + CI gate

    TarmacLabs

    Moved the vault-side living docs (bugs, roadmap, features, decisions-log) into the repo itself with a CI workflow that gates freshness — a living-docs check fails the PR if any doc is more than 7 days stale. Docs are now version-controlled alongside the code and cannot silently drift.

  2. May 30, 2026· 10 releases

    Checkride Checklist at /tools/checkride-checklist (Tool #17)

    Tools

    Day-of document checklist for Private ASEL · Instrument · Commercial ASEL · CFI Initial · CFII Add-on. Seven sections per cert (identification · application · knowledge-test · logbook & experience · endorsements · aircraft documents · aircraft currency); every item carries its 14 CFR or AC 61-65K citation. Printable — CFIs hand it to students at the prep lesson. PM-spec'd: pm-checkride-checklist-spec-2026-05-30.md (FAA-derived, no AI). Slate accent — last available unique Tailwind slot. 54 Vitest unit tests covering universal items, per-cert headline numbers (PPL 40 hrs total / IR 50 hrs PIC XC / CPL 250 hrs total), the two-test rule for CFI Initial, and the single-test path for CFII add-on. Brings tools count to 17.

    Journal #30 + roadmap rebuild

    TarmacLabs

    Posted "Grep every mockup, not the one in the report" — the B-008 lesson locked into the journal. Roadmap got the cross-product brand-voice family rollout queued as the new near-term phase, and the historical "Shipped phases" table was rebuilt as a date-keyed "Shipped (chronological)" log through today (no more Phase-N namespace clash with forward-looking phases).

    Activation funnel — wired end to end, signup to first completed lesson

    Trim

    Eight events now fire across the path a new CFI walks the first time: onboarding.started, .step (every forward transition), .skipped, .students-added, .aircraft-saved, .completed, then lesson.booked at the schedule modal and lesson.completed at both completion paths. The next external CFI's drop-off step is finally a query, not a guess.

    Legal scaffolding — clickwrap signup, minors provision, state privacy rights

    Trim

    Signup is now a clickwrap — a required checkbox gates both the email/password submit and the Google OAuth path, linked to Terms AND Privacy (was passive text linking only Terms). Terms gained a minors / parental-consent provision; Privacy gained a CCPA/CPRA state-rights section. Unglamorous but load-bearing.

    Calendar bug — past-date guard on reschedule (B-060)

    Trim

    A CFI could drag a lesson into yesterday; the CFI view silently dropped it (today-or-later filter), but the student's calendar still showed it — the two sides disagreed. rescheduleLesson now rejects past dates with a toast; the CFI calendar widens its window to surface any pre-existing past-dated orphans for action.

    Calendar polish — 'Past' chip on un-actioned past-dated lessons

    Trim

    Past-dated lessons that were never marked complete or cancelled now fade in the CFI calendar and carry a 'Past' chip. Small visual change, big disambiguation — the calendar finally separates "didn't happen yet" from "got missed" at a glance.

    Family footer on auth pages + ?ref=trim attribution

    Trim

    Trim's login / signup / forgot / reset / invite pages now carry the cross-product family footer — Tarmac Labs wordmark linked, plus a one-line "Run a flight school? Meet AutoBrief →" cross-sell. Outbound family links carry ?ref=trim, symmetric to ?ref=tarmaclabs-* and ?ref=autobrief — all three products can now measure traffic between them.

    Roster health panel + WCAG-AA contrast pass

    AutoBrief

    Dashboard now surfaces a roster health panel — currency gaps, missing endorsements, upcoming medicals — pulled from the same rules engine that drives the morning roll-call. Pair with a WCAG-AA contrast sweep across the operational pages.

    PWA manifest + skip-link + branded email theme

    AutoBrief

    Three concurrent additions: a PWA manifest so chief pilots can pin the app to home screen, a real keyboard skip-link for a11y, and the family email-theme shell (matched to Trim's `renderTrimEmail` and TarmacLabs' `renderTarmacEmail`) for AutoBrief's transactional mail.

    Legal — advisory disclaimer + /terms + /privacy

    AutoBrief

    Advisory disclaimer added across the dispatch surfaces (AutoBrief assists the chief pilot's GO/NO-GO; the human authority makes the call). /terms and /privacy pages shipped — the floor of public legal pages every B2B SaaS needs before its first paid call.

  3. May 29, 2026· 18 releases

    Branded family-letterhead emails — `renderTarmacEmail`

    TarmacLabs

    Contact form, AutoBrief-waitlist, and demo-override notifications now render through a shared navy + orange family letterhead matched to Trim's `renderTrimEmail`. One file restyles every TarmacLabs outbound. All user input HTML-escaped via `escapeHtml`/`emailQuoteCard`; text fallback preserved.

    Pilot-first identity in Person + Organization JSON-LD

    TarmacLabs

    Schema.org `jobTitle` on /about and the layout Organization founder now leads with "Commercial Pilot, CFII & Founder" instead of "Founder & Engineer." Aligns the structured data with the pilot-first identity rule the visible copy already followed.

    Vercel observability — Web Analytics + Speed Insights

    TarmacLabs

    Wired `@vercel/analytics` and `@vercel/speed-insights` in the root layout (App-Router entrypoints). Cookieless, free-tier, no consent banner; disclosed in /privacy. Chosen over GA4/Plausible for zero-config + no third-party tracker.

    Full-site audit — SEO depth, full a11y pass, server-action hardening

    TarmacLabs

    Four-dimension audit (content/brand · SEO · a11y · security) via parallel sub-agents caught a P0 the brush-up missed — `TrimPreview` had four real beta-student names rendered on three marketing pages (B-008). Fixed. Then SEO depth (`BreadcrumbList` JSON-LD on all 16 tools + journal posts, per-tool Twitter cards + canonicals, OG images for `/tools` + `/journal` indexes, `/contact` → server component for metadata), a11y (global `:focus-visible`, 13 calculator `Field` helpers label-nested, form aria-live + labels, icon aria-hidden, contrast off failing slate-600), AutoBrief stat correction (volatile commit count dropped for verified legal-layer tests), server-action hardening (email/length validation, body size cap on notify-override). ~30 mechanical edits scaled via 4 parallel sub-agents against a verified template, re-verified centrally.

    Site brush-up — stale-stat fix, ESLint debt → 0, post count derived

    TarmacLabs

    A 16th tool shipped after the last copy sweep, so the site was undercounting itself. Home stat strip 15→16 tools and "Fourteen"→"Sixteen" hero copy fixed; /services bumped 14→16 tools + 364→455 tests. Cleared the full ~38-error ESLint debt to zero — two were real correctness bugs (AutoBriefDemo Math.random() in render → committed-time auditId state; OutreachCopier setState-in-effect annotated as hydration-safe), the rest were entity-escapes + dead vars. Added a stray-`cockpit` fix in a code comment. Home post counter now derives from `POSTS.length` so it can't drift again.

    Onboarding instrumentation + activation funnel

    Trim

    Onboarding now persists CFI aircraft selection to `cfi_settings.personalization`, the activation funnel is instrumented end-to-end, and `lesson.completed` is logged at both completion paths so cohort math is consistent. Schedule polish landed alongside: reschedule-to-past is blocked and past-orphan lessons now surface in the CFI calendar (B-060 closed).

    Cross-product family connectivity — Trim → AutoBrief / TarmacLabs

    Trim

    Outbound family links from Trim now carry `?ref=trim` attribution (matching the locked cross-product line spec). The Trim auth pages got a cross-product family footer so the company surface is one click away from signup. Same author, same wordmark, one company.

    Email theme unification — `renderTrimEmail` + branded founder feedback

    Trim

    One shared email shell across every Trim outbound (auth, notifications, founder feedback). Branded founder feedback emails now carry a star rating and the page context the user was on, so feedback comes with the slice of UI it's about.

    Student-side connectivity arc — 8 PRs

    Trim

    The full student-CFI two-way loop landed in one arc: a Request-a-lesson card writes to the CFI Action Inbox (with Accept that prefills the schedule modal and Decline that emails the student); per-CFI request emails; two-way chat email on direct threads, debounced; a student notification bell in the student header; a student-side window into the status of their requests (Pending/Accepted/Declined chips); a group-channel daily digest cron for the chat channels; and credential-gated student-portal smoke coverage so the new routes regress visibly. All outbound test-gated via `STUDENT_NOTIFY_MODE`.

    Fix — `notifyTarmac()` await (silent email drop)

    Trim

    Serverless gotcha: feedback / booking / signup notifications were calling `void notifyTarmac(...)` and returning before the Resend fetch resolved — Vercel froze the lambda mid-flight and the emails were silently dropped for the prior fix window. Now awaited. This is also why the equivalent TarmacLabs `/api/notify-override` was re-verified (it awaits its send, and the only caller is browser-side, so it was safe).

    Backup pipeline fixes — R2 upload + pg_dump v17

    Trim

    Two small but load-bearing fixes to the backup pipeline: R2 upload now goes through the AWS CLI instead of rclone (rclone was 400-ing on the bucket policy), and `pg_dump` is invoked via its explicit v17 path so the cron isn't hostage to PATH order.

    Morning roll-call — schedule import + printable brief

    AutoBrief

    The first operational surface for chief pilots: morning roll-call lets you check the whole day at once. Schedule comes in via CSV import (FSP / SP / FC export), the brief renders as a printable / save-as-PDF document, and the rules engine flags currency gaps and missing endorsements row-by-row.

    Roster CSV import — pilots + aircraft

    AutoBrief

    Bulk import for pilots and aircraft so a new school can stand up a working roster from their existing scheduler in one paste, no per-row typing. Honest about the manual-entry v1 — this is the v1 that gets you to a working brief tomorrow.

    Audit pass — SEO + a11y + security

    AutoBrief

    Full audit pass on AutoBrief: SEO depth (metadata, OG, structured data), a11y compliance (form labels associated, complete `<main>` coverage, contrast), and a security sweep. Lint debt cleared alongside.

    Onboarding — `/start` + sample school + `/how-it-works`

    AutoBrief

    Two onboarding additions: `/start` is a getting-started flow that can load a sample school so a prospective chief pilot can click through the product without typing in their own data first, and `/how-it-works` is the wedge explainer for the AutoBrief positioning.

    Cross-sell link to Trim in the footer

    AutoBrief

    Family-footer line in AutoBrief now points to Trim with the locked cross-product copy. Same line, both directions, one company.

    Vercel Web Analytics (cookieless)

    AutoBrief

    `@vercel/analytics` wired in the AutoBrief root layout — same cookieless, free-tier observability as TarmacLabs.

    Paid-infra flip runbook

    AutoBrief

    The runbook that flips AutoBrief from the free localStorage v1 to the paid Supabase + autobrief.app + Anthropic API mode. Internal-only doc — the flip is David-gated.

  4. May 28, 2026· 24 releases

    Climb Gradient calculator at /tools/climb-gradient

    Tools

    60-to-1 rule calculator for ODP / SID / obstacle-clearance planning. Mode toggle: gradient → required climb rate, or rate → resulting gradient. Gradient input accepts ft/nm, ft/sm, or percent. Ground speed in knots. Outputs required vertical speed (fpm), climb angle (deg), percent grade, and a four-band performance advisory: safe (≤500 fpm) · caution (501-800) · marginal (801-1200) · over (>1200, turbine territory). Inline SVG climb-profile wedge. 22 Vitest unit tests covering the four standard ODP reference points (200 ft/nm at 90/120/150 kt → 300/400/500 fpm, 400 ft/nm at 200 kt → 1333 fpm), divide-by-zero guards on GS, round-trip identity (gradient → rate → gradient), exact-threshold risk-band boundaries (500/800/1200), 10% gradient ≈ 608 ft/nm equivalence, and the 3° glideslope ≈ 318 ft/nm cross-check. Pink accent on the tools index. Brings tools count to 16.

    Fuel Planning calculator at /tools/fuel

    Tools

    Cross-country fuel planner — taxi + climb + cruise + reserve + (optional) alternate → required gallons with line-by-line breakdown. Segmented control for VFR Day / VFR Night / IFR drives the reserve duration per 14 CFR §91.151(a)(1) (30 min day), §91.151(a)(2) (45 min night), and §91.167(a)(2) (45 min IFR). Optional usable-tanks input enables a four-band verdict: safe (≤75%) · caution (75-90%) · marginal (90-100%) · NOGO (>100%). 31 Vitest unit tests covering known POH numbers (172 cross-country: 110 nm @ 100 kt cruise / 8 gph → 8.8 gal cruise burn + 4.0 gal day reserve = 16.3 gal total), all three reserve regimes, alternate added, exact 75/90/100% boundary cases, divide-by-zero guards, and verdict-band edge cases. Stone-warm accent on the tools index, orange OG card. Brings tools count to 15.

    Magnetic Variation converter at /tools/variation

    Tools

    True ↔ Magnetic ↔ Compass converter. Mode toggle for either direction. Variation as signed degrees with an E/W toggle (positive = West / add to true, negative = East / subtract from true). Optional compass-card deviation step for the full TRUE → MAG → COMPASS chain. Inline 'East is least · West is best' mnemonic card. 34 Vitest unit tests covering zero variation, west adds / east subtracts, wraparound across 0/360, round-trip identities, deviation +/-, the mnemonic identity (MAG > TRUE for W, MAG < TRUE for E), and real-world sectional values (KMRY 13°E, KBOS 14°W, KLAX 11°E, agonic Chicago). Lime accent on the tools index. Brings tools count to 14.

    Stall Speed at Bank Angle calculator at /tools/stall

    Tools

    CFI lesson tool for steep turns, lazy eights, and chandelles. Enter published 1G stall speed (V_s) and a bank angle — get accelerated stall speed (V_s × √n), load factor (n = 1/cos bank), and optionally turn radius + rate of turn when a TAS is supplied. Four-band risk verdict: safe (≤30°) · caution (30-45°) · commercial-maneuver (45-60° — ACS steep-turn standard) · over-bank (>60° — 14 CFR §91.307(c) parachute trigger). Inline SVG bank-attitude indicator with 0°/30°/45°/60° tick marks. 38 Vitest unit tests cross-checked against FAA Airplane Flying Handbook reference values (30° → 1.155 g, 45° → 1.414 g, 60° → 2.0 g, 75° → 3.864 g, 90° → ∞ unsustainable) and AFH turn-radius appendix tables. Zinc accent on the tools index. Brings tools count to 13.

    VFR Weather Minimums lookup at /tools/vfr-minimums

    Tools

    The 14 CFR §91.155 cloud-clearance + visibility table, looked up for you. Pick airspace class (B/C/D/E/G), altitude (MSL plus AGL for Class G), and day/night — get required flight visibility and cloud clearance with the matching §91.155 citation. Class A flagged as IFR-only. Full color-coded reference table with all 9 rows below the result. 28 Vitest unit tests covering every airspace × altitude band × day/night combo, edge cases (exactly 10,000 ft MSL, exactly 1,200 ft AGL), Class A IFR-only flag, and citation strings. Verbatim FAA values per the FAA-data-only rule. Indigo accent on the tools index, sky-blue OG card. Brings tools count to 12.

    Aviation Unit Converter at /tools/units

    Tools

    Six-category aviation unit converter — distance (nm/sm/km/ft/m), speed (kt/mph/km/h/m/s), weight (lb/kg), volume (US gal/L/imp gal), temperature (°C/°F/K), and fuel (volume ↔ weight). Fuel mode bridges volume and weight using FAA-standard densities at 60°F: 100LL avgas at 6.01 lb/gal and Jet A at 6.7 lb/gal. Tabbed interface, instant results into every other unit in the selected category. 47 Vitest unit tests covering identity, known FAA reference points (1 nm = 1.852 km, 100 gal × 6.01 = 601 lb, 0°C = 273.15 K), round-trip preservation, and negative-temperature edge cases. Amber-gold accent. Brings tools count to 11.

    True Airspeed calculator at /tools/tas

    Tools

    Density-corrected CAS → TAS conversion. Enter calibrated airspeed, pressure altitude, and OAT — get the precise TAS via the NACA 1235 density-ratio formula (CAS / √σ) and the 2%-per-1000-ft FAA rule-of-thumb side by side, plus density altitude, ISA spread, and Mach number above FL180. 32 Vitest tests covering ISA temperature lapse, density ratio at altitude, cold-day vs hot-day TAS divergence, Mach at FL350, and the precise-vs-quick-rule delta. Emerald-teal accent. Brings tools count to 10.

    Wind Correction Angle calculator at /tools/wca

    Tools

    Classic E6B wind-triangle calc — true course + TAS + wind direction + wind speed → wind correction angle (signed L/R), true heading, and groundspeed. Uses the exact form GS = TAS·cos(WCA) − headwind rather than the small-angle approximation, so it matches an E6B at all wind angles. Detects the 'cannot maintain course' edge case when perpendicular wind exceeds TAS. Inline SVG showing course / heading / wind vectors. 42 Vitest unit tests cross-checked against E6B reference values, including the 0/360° wrap and the limiting case |crosswind| = TAS. Fuchsia accent on the tools index. Brings tools count to 9.

    Endorsement Lookup at /tools/endorsements

    Tools

    Searchable + filterable index of FAA AC 61-65K endorsements. Filter by category (pre-solo, student cross-country, additional aircraft, reviews / IPC, knowledge tests, practical tests, instructor track, additional rating). Each result shows the AC paragraph, the FAR section it implements, the certificate level, and a one-paragraph use case. The verbatim text always comes from the official FAA AC — per the FAA-data-only rule, we never paraphrase or invent endorsement wording. 18 Vitest tests cover dataset integrity + search behavior. Orange accent. Brings tools count to 8.

    Holding Pattern Entry calculator at /tools/holding

    Tools

    Instrument-rating utility — inbound course + aircraft heading + turn direction → direct / teardrop / parallel entry, with an inline SVG racetrack diagram. AIM 5-3-8 sector math (70° teardrop, 110° parallel, 180° direct), right and left holds both supported. 45 Vitest unit tests cover sector boundaries, cardinal cases, AIM exam scenarios, and wraparound edge cases. Rose accent on the tools index.

    Top of Descent calculator at /tools/tod

    Tools

    Pure-geometry TOD calc — current alt + target alt + ground speed + descent rate → distance to TOD, descent angle, and a 3° field-rule sanity check. IFR + VFR. 19 Vitest unit tests covering altitude geometry, divide-by-zero guards, jet vs piston descent profiles, and the 'already below target' edge case. Cyan accent on the tools index. Per-tool OG card. Brings tools count to 6.

    Crosswind Component calculator at /tools/crosswind

    Tools

    Pure-trig crosswind/headwind component calculator with inline SVG diagram. Accepts a runway number ("27") or full heading ("273"). Signed-angle math handles the 0/360° wrap correctly. Configurable demonstrated-crosswind risk band (default 15 kt). 22 Vitest unit tests cross-checked against E6B reference values. Brings tools count to 5.

    /services — custom-build engagement surface

    TarmacLabs

    Public page for the second arm of the company. Three-tier SOW (Foundation $15-25K / Transformation $30-75K / Partnership $100K+) anchored on the CFO pricing research. Paid discovery ($1.5-3K) as the entry. Honest fit / no-fit lists. Accepting 1-2 new engagements per quarter.

    Per-post OG cards + share buttons + journal tag filters

    TarmacLabs

    Every journal post now has its own SSG'd OG card (tag-color gradient + title + author/date/read-time). Per-tool OG cards for all 4 calculators. Twitter/LinkedIn/copy-link buttons on every post. Journal page filterable by tag with click-to-toggle / double-click-to-solo chip UX.

    Density Altitude — formulas extracted + 24 unit tests

    Tools

    Refactored DA math into lib/da-math.ts. 24 Vitest unit tests covering pressure altitude, ISA temp, density altitude, F→C conversion, saturation vapor pressure, relative humidity, risk bands, and full integration scenarios (Leadville hot summer, Anchorage cold winter). Cross-checked against FAA Pilot's Handbook tables. First test suite on tarmaclabs.org — engineering rigor parity with Trim + AutoBrief.

    Density Altitude calculator at /tools/da

    Tools

    Pilot rule-of-thumb DA calc — pressure altitude, density altitude, ISA spread, and a takeoff-distance penalty estimate. Optional dewpoint flags humidity advisories. Brings the tools count to 4.

    AutoBrief is live in production

    AutoBrief

    Deployed to Vercel at auto-brief-web-pied.vercel.app. 15 routes, 132 unit tests, full GO/NO-GO flow with override audit log, localStorage mode (Supabase Pro upgrade queued).

    • ·Public demo at /demo (3 scenarios — GO / HOLD / NO-GO)
    • ·Interactive /check page with rules engine + AI brief + override flow
    • ·Print-friendly /briefing daily dispatch board
    • ·Custom domain autobrief.app purchase pending

    /products/autobrief interactive demo

    TarmacLabs

    In-page GO/NO-GO demo with 3 scenarios + chief-pilot override flow + audit-ID confirmation. Closes the visibility gap before the autobrief.app domain lands.

    Currency Calculator + W&B Calculator

    Tools

    Two new free tools live. Currency runs 14 CFR §61.23/56/57(a/b/c) against pilot inputs. W&B does universal moment math with envelope plot — no aircraft presets by design.

    • ·/tools/currency — Part 61 currency check, end-of-month math, no signup
    • ·/tools/wb — Bring your POH numbers, get a plotted CG against your envelope
    • ·Both with HowTo JSON-LD for Google rich snippets

    /admin/outreach click-to-copy cold-email tool

    TarmacLabs

    Token-gated dashboard with 8 outreach templates (cold-email + forum + warm-intro + follow-up + demo-call + LinkedIn + Twitter + Reddit). Live token substitution, daily send tally.

    /admin/leads inbox + lazy Supabase client

    TarmacLabs

    Token-gated dashboard merging waitlist signups + contact submissions. Behind the scenes, the supabase client got rewritten to lazy Proxy init — a build-cache-masked bug nearly took down deploys.

    RSS feed + journal expansion to 24 posts

    TarmacLabs

    Discoverable RSS at /rss.xml with <link rel="alternate"> auto-discovery. Nine new journal posts written tonight covering visibility, free-tool-as-pitch, W&B no-presets, AutoBrief launch, the outreach tool, the consolidated changelog, and the four-tool moat.

    Company-wide changelog at /changelog

    TarmacLabs

    Consolidated Trim + AutoBrief + tarmaclabs.org + Tools releases into one filterable timeline. Color-coded by product. Trim's per-product changelog stays untouched for now; this is the canonical company feed.

    Real Trim usage stats on home

    TarmacLabs

    Home page "Live Now" section surfaces aggregate Trim counts pulled from the live Supabase: 6 active CFIs · 9 students · 126 lessons · 111 graded. No identifiers exposed.

  5. May 27, 2026· 3 releases

    SEO foundation + journal launch

    TarmacLabs

    Sitemap, robots, per-page OG images, JSON-LD (Organization + Person + SoftwareApplication + Article). New /journal route with 11 initial posts written from the real vault history.

    • ·Wave 1 — SEO foundation (5 OG routes, file-conv sitemap + robots, icon)
    • ·Wave 2 — Home stat strip, About story, Portfolio filter chips, /products previews
    • ·Wave 3 — /tools landing + /tools/metar decoder + /journal launch

    Renamed from AutoDispatch

    AutoBrief

    Domains for AutoDispatch (.com/.app/.io) were all taken. AutoBrief picked for aviation-native "brief" + AI angle. autobrief.app reserved at $9.99/yr.

    V1 frontend complete (localStorage)

    AutoBrief

    Pure-TypeScript rules engine encoding 14 CFR §61.23/31/56/57(a-c) + §91.409(a/b). 132 unit tests. AI brief via Anthropic SDK with deterministic fallback. localStorage adapter pattern — drop-in replaceable with Supabase.

  6. May 26, 2026· 1 release

    Phase 15 — security hardening sprint

    Trim

    Three migrations + a code audit. Rate limiting on invite-send + booking-lead endpoints. Masked email on invite-token lookup. Baseline CSP with Supabase + Sentry allowlists. HSTS 2-year + preload. RESTRICTIVE policies block direct writes to student_transfers.

  7. May 25, 2026· 1 release

    Phase 14 — onboarding cliff fix + beta feedback infra

    Trim

    Onboarding now hands off to dashboard with an auto-opened Add Student modal. Two new beta-cohort tables (cfi_page_events + beta_feedback). Floating orange feedback chip. Daily Vercel Cron emails William's silent-cohort status to David.

  8. May 11, 2026· 1 release

    Folder structure locked

    Trim

    app/ became the git repo root. Single docs folder at TRIM/docs/. No more web-v5/ ambiguity. Capacitor iOS/Android drop-in path reserved for V7.

  9. May 10, 2026· 2 releases

    cfitrim.com goes live

    Trim

    Domain purchased and verified with Resend. DKIM + SPF + MX in Vercel DNS. trimcfi.com 301-redirects to cfitrim.com. Google OAuth published to production. Legal pages (/privacy + /terms) shipped with aviation-CFI-specific disclaimer.

    TarmacLabs LLC founded · tarmaclabs.org live

    TarmacLabs

    Parent company spun up. tarmaclabs.org launched on Vercel + Supabase. Brand colors locked (orange #C9622B + Trim blue + AutoBrief indigo). Auto-deploys from GitHub master.

  10. May 8, 2026· 1 release

    Phase 6 — public changelog + onboarding polish

    Trim

    Original Trim-only changelog shipped (now consolidated here). New CFIs land on a getting-started checklist that auto-completes as they add students, schedule lessons, sign endorsements. PWA polish + StudentRubricView wiring.

  11. May 7, 2026· 2 releases

    Phase 5 — live FAA aviation data ingestion

    Trim

    Four free FAA data sources on cron: airport database (80k airports with IATA/ICAO lookup), N-number aircraft registry autocomplete (312k aircraft), active TFR feed, aviation news RSS. All surfaces searchable inside Trim.

    Phase 4 — 20+ deterministic insights

    Trim

    /dashboard/insights ships with stalled-student detector, stage-stuck index, brief-vs-debrief asymmetry, ridgeline score distributions, Strava-style ghost race comparison, and per-student progress signals — all computed from real lesson data, no AI.

  12. May 6, 2026· 1 release

    Phase 3 — endorsement audit pack + monthly invoice PDFs

    Trim

    One-click endorsement audit pack generates a print-ready PDF of every endorsement signed, grouped by student, with AC 61-65K references inline. Monthly invoice PDF export for billing.

  13. May 5, 2026· 1 release

    Phase 2 — student portal + CFI-to-CFI transfer

    Trim

    Students log in to view their own lesson history, endorsements, syllabus progress. Atomic two-side-consent CFI-to-CFI student transfer — hand off a student without data loss.

  14. May 4, 2026· 1 release

    Phase 1 — real data across all 17 surfaces

    Trim

    Replaced prototype mocks with live Supabase queries. Auth (email/password + magic link + Google OAuth), RLS policies, and 18 schema migrations. Right rail, command center, schedule all live.

  15. May 3, 2026· 1 release

    Full prototype shipped (Foundation)

    Trim

    24 dashboard routes covering students, endorsements, scheduling, syllabus, kneeboard, currency tracking, GO/NO-GO, billing. Next.js + Supabase + Tailwind. Deployed to Vercel.

  16. May 2, 2026· 1 release

    V0.5 charter — Hilo factsheet verified, MVP cut to one module

    AutoBrief

    Strategic charter locked. Hilo Aviation factsheet verified externally (different game, not a competitor in our lane). MVP scope cut from 3 modules to 1 (GO/NO-GO with AI brief). Free / $49 Starter tier exploits Hilo's enterprise-only pricing gap.

What's next

Each product keeps its own roadmap. See AutoBrief for B2B flight-school dispatch direction, or visit Trim for the freelance CFI workspace. New tools land on the tools page and get a changelog entry here.