Inspiration

A freelancer should know exactly what a client approved before requesting a deposit. Informal briefs often hide missing deliverables, unclear deadlines and assumptions. Scope to Deposit makes that review visible.

What it does

The freelancer enters a brief, reviews an editable scope and blocking questions, sets explicit USD line items and approves a frozen quote revision. Only then can the app create a private buyer checkout link. A return from PayPal is an observation; payment becomes complete only after the server verifies the original order, capture, merchant, deposit amount and currency.

How I built it

This new hackathon project uses Next.js, React, TypeScript, SQLite and Zod. PayPal Orders v2 Sandbox handles order creation and capture. Durable operations, reconciliation and authenticated webhook receipts keep payment evidence tied to the approved quote. Buyer access uses a per-tab capability sent in a header.

The Vyce OpenAI-compatible extraction adapter supports explicitly selected GLM 5.3 Flash or DeepSeek V4 Flash. Its strict nested JSON schema separates scope facts, assumptions, constraints and questions. AI cannot approve quotes, choose commercial terms or execute payments.

Verified results

Three genuine PayPal Sandbox buyer approvals and captures completed: USD1, USD2 and USD3 deposits against approved USD10, USD20 and USD30 quotes. Each order has exactly one completed capture and a matching authentic completion webhook. No real money was used.

The current local suite passes 172/172 tests, TypeScript and production build under Node.js 24. Historical production-browser verification passed 23/23 checks. Source and setup instructions are public under MIT.

Challenges and current limitations

The real GLM benchmark produced 20 ordinary and two hostile schema-valid drafts, then a timeout stopped the batch. Independent review found only 1/20 strict complete cases, so schema validity did not establish adequate quality. A reviewed prompt correction has no accepted real output. Current provider requests return HTTP 402 despite positive account credit metadata; the cause remains unresolved. AI is disabled by default and human review is required. Manual scope editing and PayPal Sandbox flow work independently. Free judge AI access has not yet been supplied.

The video shows a condensed genuine baseline AI result, a recorded manual workflow and a genuine Sandbox paid state. It states the AI limitation explicitly.

What I learned

Reliable AI-assisted payments require separate boundaries: model output is untrusted, human approval defines the quote, and canonical provider evidence defines payment. I also learned to stop on uncertain provider outcomes and distinguish local fixtures, real model responses and genuine Sandbox evidence.

Next steps

Resolve provider access, verify the revised prompt against the full source-grounding and hostile-input rubric, then establish free judge AI access.

Built With

Share this project:

Updates

Submission history