Inspiration

Most of my career has been in enterprise delivery, including time at Fidelity, where money moving in and out of a company is handled by whole teams, systems and approval chains. A small business owner does all of that alone, usually at night in a spreadsheet. When I started reading about it, two numbers stuck with me, 59% of small businesses have invoices more than a month overdue, and half say uneven cash flow is a real problem for them.

What it does

PayQuill helps small businesses get paid sooner and pay their bills on the best day. It’s built on the PayPal sandbox and uses Claude for the reading and writing.

It covers both sides of a business’s cash: Getting paid: The owner describes a job in one sentence, and Claude drafts the PayPal invoice. PayQuill gives each invoice a late-payment risk score with a plain english reason. Reminders are written for each customer: warm for reliable payers, earlier and firmer for slow ones. A signed PayPal webhook marks an invoice paid the moment the customer pays. Paying bills: The owner uploads a supplier bill as a PDF, scan or photo, and Claude reads the amount, dates and terms. PayQuill works out the best day to pay, for example taking an early-payment discount worth 37% a year. It also makes sure cash stays above a safety buffer. Then PayPal Payouts pays the supplier on that day. Seeing ahead: A 30-day cash forecast shows what’s coming in, what’s going out, and the lowest point the balance will reach. Staying in control: Nothing moves without the owner’s approval. Everything the AI produces is checked before anyone sees it, and retries can never pay twice. PayQuill is an AI cash assistant that tells a small business who to chase, which bills to pay, and when

How we built it

I planned it as a short build plan with two tiers, each one complete enough to submit on its own. Tier 1 was getting paid: invoices from a sentence, a late payment risk score, reminders and live payment status. Tier 2 was paying smarter: reading supplier bills and scheduling payouts on the best day. The stack is Python and Flask, one HTML and JavaScript page with no build step, and SQLite, so a judge can run it with one command. PayPal does all of the money movement - Invoicing v2 to create, send and remind, Payouts to pay suppliers, and verified webhooks to hear when a customer pays. Claude drafts invoices, reads bill PDFs and photos directly, and writes each reminder for the customer it's going to. The late payment risk model is a small logistic regression trained on the business's own payment history, and it retrains after every payment. I worked with Claude as a coding partner throughout. I spent my own time on the product decisions, on testing every flow against the real PayPal sandbox, and on fixing what broke along the way. The project has 37 automated tests and the live demo is hosted on Render.

Challenges we ran into

Strict tool use, fallback when AI fails

Accomplishments that we're proud of

Overall app design, use cases addressed and demo setup PayPal developer platform (sandbox)

PayPal tool What it does in PayQuill REST API authentication (OAuth 2.0): Gets an access token from the business’s sandbox app credentials for every PayPal call. Invoicing API v2: Creates and sends each customer invoice, sends reminders through PayPal’s remind endpoint with the message Claude wrote, and checks each invoice’s payment status. Every request carries a PayPal request ID, so a retry is never processed twice. PayPal hosted invoice page and checkout: Where customers view and pay their invoices. Judges can pay one themselves as the sandbox buyer. Payouts API v1: Pays suppliers on the day PayQuill recommends, after the owner approves, then confirms whether each payout succeeded. Webhooks, with signature verification: Hears invoice paid, invoice cancelled and payout success or failure events, so the dashboard updates the moment money moves. Every event is checked through PayPal’s verify-webhook-signature API before it’s trusted. Sandbox accounts: A business account for Verde Studio, a buyer account for customers, and a payee account for suppliers.

What we learned

The AI changed under me. My Claude calls failed with an error saying the way I was forcing a structured answer wasn't supported by the newer model. I switched to strict tool use, which the documentation recommends for these models, and added fallbacks so a failed AI call never leaves the app stuck. Webhooks and laptops. PayPal can't send webhooks to a laptop, but judges need to run the project locally. So the app does both: verified webhooks on the hosted demo, and a status check every 10 seconds everywhere else. Keeping the AI honest. My first version had an offline mode that looked like AI but was really a set of rules. It worked, but it wasn't the point. I made Claude do the jobs only a model can do, like reading a photo of a crumpled bill or writing a firm-but-polite note to a customer who's always late. Then I labelled the offline fallback clearly, so nobody mistakes one for the other.

What's next for PayQuill - "Get paid and pay at the right time"

PayQuill works end to end today in the PayPal sandbox, so the next step is putting it in front of real small business owners like Mitchell. I want to learn which part saves them the most time before building more. In order of priority:

  1. Sync with accounting tools. Push paid invoices and scheduled bills to QuickBooks and Xero, so owners don’t have to type anything twice.
  2. Bills from the inbox and phone. Forward a supplier email or snap a photo of a paper bill, and PayQuill picks it up automatically.
  3. Smarter collections. Offer PayPal Pay Later or a payment plan to customers who keep paying late, and learn which reminder wording gets people to pay fastest.
  4. A weekly cash brief. A short Monday note that says who to chase, which bills to pay and when, and whether cash gets tight in the next 30 days.
Share this project:

Updates

Submission history