Skip to content
Kyle Rivelli.

Work

Web tools for teams · Live · since July 2026

The auction-board converter.

The second load program arrives as an email table, not a file. Paste it; the parser forgives prose, restores ZIP codes and prices from an owner-editable table.

Liveclipboard parsingeditable rate tablededupe
exportcodeclean files

The problem

The second load program arrives as a recurring email table, not an export. No file to convert, so operators re-typed it.

How it works

  • Paste-driven: parses the mail client's tab-separated clipboard and its HTML table, tolerates prose above and below, and reports per-line failures instead of aborting the whole paste.
  • Restores the leading zeros that spreadsheets strip from ZIP codes.
  • Rates come from an owner-editable box-count table stored as a shared setting; every read passes through a clamp that guarantees exactly ten well-formed tiers, so a garbled payload cannot corrupt rate math.
  • Dedupes on date plus auction ID: the email repeats all day, but an auction may legitimately return on a later day, so there is deliberately no global ledger.
  • An October rule: loads accepted without a truck in the first program now price off this table, capped at the first program's percentage. The owner set the rule; the code enforces it.

// the rate table cannot be read in a malformed state; a bad payload is clamped, never applied

The result

The second posting workbook retired. The owner edits his own rate percentages in the UI, shipped the same day from his emailed spreadsheet, instead of asking for code changes.

Your version of this exists.

Different industry, same shape: a repetitive workflow, a fragile spreadsheet, an inbox someone babysits. Tell me what the manual work looks like and I can usually name the first build in one conversation.