Back

Internal AI tool / Ghost

Boo

Ghost's in-house AI tool that transposes any supplier inventory file into Ghost's Itemization template.

RoleForward Deployed Engineer
CompanyGhost
Timeline2026
ReplacesTableFlow
What ChangedReplaced a ~$130K/year vendor with a tool Ghost owns. Live in production since March 2026.

Boo takes a supplier's Excel, CSV, or PDF and transposes it into Ghost's Itemization template. A six-step pipeline parses the file, maps columns, expands size charts, enriches gaps, and validates every cell before a human reviews it.

Ghost paid TableFlow around $130K a year to transpose supplier inventory files, and it still failed quietly. SKU and unit counts did not reconcile, UPCs broke in scientific notation, and bad data passed through without a flag.

Six steps. One file in, reviewed data out.

  1. 01ParseExcel, CSV, or PDF into rowscode
  2. 02Analyzereads file structureAI agent
  3. 03Mapcolumns to Itemization fieldsAI agent
  4. 04Expandsize charts to SKUsAI agent
  5. 05Enrichfills gaps from contextAI agent
  6. 06Validateflags every bad cellcode
AI agentdeterministic code

Source headers map to Itemization fields with synonym matching and Claude. Item number and style number both land as SKU; units remaining and on hand both become quantity. Any seller's naming ends up in the same shape. One row per style with size columns expands to one row per SKU, and files without a size chart pass straight through.

Validation then annotates errors and warnings per cell and checks that SKU and unit totals match the source file. Every run resolves to one status: complete, review, or invalid. Ops review the result in a data grid, then it flows to Airtable, webhooks, and seller email automation.

The hard rules are the bugs the old vendor never solved, written down and enforced. Extracted SKU and unit counts have to match the source file, which was TableFlow's number one unsolved problem. A UPC like 1.23E+11 expands back to the full number instead of shipping broken. All dates normalize to YYYY-MM-DD, whatever the seller sent. Output row order matches the original file, and style names never get truncated. Boo surfaces every failure within ten minutes, with a Slack alert if a day passes with no successful run.

Built with Next.js, the Claude API, Zod, SQLite, and Railway.