Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for RunwayPilot

Inspiration

I'm a fractional CFO. Small businesses rarely fail on profit. They fail when cash runs out between paying suppliers and getting paid. The data that would warn them already sits in PayPal as open invoices, but nobody connects it to a forecast or acts on it in time.

What it does

  • Pulls open PayPal invoices (sandbox Invoicing API) and adds each one to a 13-week cash forecast as an expected inflow in its due week.
  • Detects the week cash falls below the owner's floor, and flags every invoice due before then in red.
  • One click sends a draft invoice or sends a payment reminder through PayPal, and the status updates live.
  • An AI CFO memo (OpenAI, grounded in a precomputed forecast summary) explains the position, the risk and this week's actions, and ranks invoices to chase, each with a reason.
  • Scenarios (late receivables, cost cuts) and multi-client workspaces for fractional-CFO firms.

How we built it

Static front end plus Vercel serverless functions (Node, no dependencies). lib/paypal.js handles OAuth client-credentials and the Invoicing v2 endpoints (list, get, generate-next-invoice-number, create, send, remind). api/memo.js calls OpenAI gpt-4o-mini in JSON mode, with a deterministic priority score as the fallback. The forecast engine uses integer cents. Credentials are server-side Vercel env vars only.

Challenges we ran into

Keeping the AI honest: the first memos called invoices "overdue" that weren't. I fixed that by giving the model a precomputed summary (week-1 balance, lowest week, breach week, shortfall) and explicit is_overdue flags, and telling it to quote only those numbers. Also, making a public demo safe: actions can only reach example.com sandbox recipients.

Accomplishments that we're proud of

A real loop from forecast to PayPal action: the forecast spots the breach, the AI ranks the invoices, PayPal sends or reminds, and the forecast updates. All live on the sandbox at a public URL.

What we learned

PayPal Invoicing is a strong source of receivables data for small businesses, and AI is most useful when it's narrowly grounded and paired with one-click actions.

What's next

Pull paid and partially-paid history to learn each customer's real days-to-pay, add PayPal Payouts for supplier runs scheduled around the forecast, send a weekly memo email, and add QuickBooks/Xero sync.

How it differs from my other entry (JobProof Pay Agent)

JobProof verifies contractor photo proof and releases payment through PayPal Orders and Payouts (marketplace payouts). RunwayPilot is SMB treasury: PayPal Invoicing (accounts receivable), cash forecasting and an AI CFO memo. The APIs, users, problem and code are all different.

Testing instructions (for judges)

No login needed. Open the live URL, which runs against the PayPal sandbox (open with ?plan=Pro&delay=2 to see a breach scenario). Choose Pro and a 2-week receivables delay, then click Run forecast. In "PayPal receivables", click Seed demo invoices if the list is empty, then Send invoice or Send reminder. Click Write memo + chase plan for the AI memo. To run locally, copy .env.example to .env, add your PayPal sandbox REST credentials and an OpenAI key, then run vercel dev. Without PayPal credentials the app shows clearly labeled mock invoices.

Built With

Share this project:

Updates

Submission history