A-Pay Decoder

Decodes a flight attendant's trip pay against the public union contract and flags trips that look credited wrong.

A-Pay Decoder homepage

The need

Flight attendant pay has a dozen categories with contract citations behind each one, and the schedule system does not show the math. Upload the trip PDF and see every dollar with its contract clause, plus a pay check that catches miscredits.

What was hard

  1. 1

    In-browser PDF parsing

    Roster PDFs are parsed on the device, so pay documents never leave it.

  2. 2

    Screenshot OCR with a read gate

    A screenshot read is rejected unless it reconciles with the roster's own printed totals.

  3. 3

    Pure contract pay engine

    A framework-free engine models rates, holidays, over-duty, sit pay and day-off incursion, with oracle tests against real roster fixtures.

  4. 4

    Per-trip reconciliation

    Each trip is checked against what was actually credited, and mismatches are flagged.

  5. 5

    Month comparison

    Month-over-month views match trips that cross a month boundary instead of splitting them.

  6. 6

    Paystub and register parsing

    Paystubs and pay registers are parsed so the decoded pay can be compared to what was paid.

  7. 7

    Opt-in diagnostics

    Bug reports can include a privacy-scrubbed diagnostics bundle, and only when the user chooses to.

Stack

Next.js 16React 19TypeScriptpdf.jsTesseract.jsNeon PostgresResendVitestVercel