Inspiration
Freelance work often starts as an informal message. An unpriced “also” can quietly become unpaid work. ScopePay makes agreed prices and unresolved scope visible before an invoice is created.
What it does
ScopePay turns a structured English brief into an editable quote and a human-approved PayPal sandbox invoice draft. It classifies the project locally, suggests a category-specific scope check, extracts explicitly priced deliverables and preserves unpriced requests for review. Every edit resets approval. It creates drafts only: no invoice sending, payment collection or real money movement. No tax is calculated.
How it works
Paste a brief with one deliverable and explicit price per line. Analyze it, review the scope question, resolve or exclude unpriced requests, check the customer and amounts, then approve. The server authenticates with PayPal OAuth and calls the sandbox Invoicing v2 API to create a draft. The result displays the invoice ID.
How I built it
React, TypeScript and Vinext provide the interface and server routes, deployed on Cloudflare Workers. A multinomial Naive Bayes classifier trains on 32 original synthetic sentences across data, web, design and writing. It runs locally and selects a relevant scope question. This is a small statistical model, not an LLM. Price extraction is deterministic, using integer minor units for exact arithmetic. Only reviewed invoice details reach the server and PayPal; the original brief stays in the browser.
Challenges
The central challenge was separating uncertain classification from monetary decisions. The model may suggest a category, but it cannot invent a price. Unsupported text remains visible. Approval is invalidated after edits so an earlier review cannot silently authorize changed details.
Accomplishments
A focused working brief-to-draft flow, explicit ambiguity handling, editable line items, exact totals and a server-only sandbox adapter. Eight automated tests pass, covering parsing, arithmetic, classifier hold-outs, validation and mocked transport. A genuine PayPal sandbox draft was created on October 25, 2026; mocked tests alone are not evidence of live integration.
What I learned
A small local model can support a useful scope check without needing authority over money. Clear boundaries, review and honest model limitations are part of the product experience.
What's next
Evaluate on permissioned real briefs, improve multilingual coverage and explore milestone and tax-aware workflows. The current classifier supports English only and its signal strength is not a calibrated probability.
Try it and testing instructions
The hosted workspace is currently owner-private. Judges can run the complete open-source build using the repository README and their own PayPal sandbox business REST app credentials. No AI service key is needed. Run npm install, npm test and npm run dev; configure the two sandbox secrets in an ignored .dev.vars file as documented. Use Data cleanup to verify EUR 220.00. Use Website to verify that the unpriced logo request blocks approval until resolved or excluded. Enter a sandbox customer email, review and approve, create a draft, and verify its ID in the sandbox business dashboard. Never use live credentials.
AI assistance disclosure
ChatGPT Work assisted with planning, code, original synthetic training examples, tests and documentation. The application's AI is the local classifier described above. The demo uses actual application screenshots with English captions and no face, voice or music.
Source and license
https://github.com/matiasluparia-star/scopepay MIT license. Setup instructions and source are included.
Log in or sign up for Devpost to join the conversation.