-
-
DealRoom
-
Maya’s business on AG Grid’s AG Studio
-
The AI assistant answers from the record: “Your client return rate is 50%: Lina, Jordan and Tom came back.”
-
The client’s side: every PayPal payment and how protected each purchase is.
-
terms both sides accepted, a real PayPal invoice, and payments locked to the agreed amount. Here Alex has just paid the final $40.
-
The AI checks every delivery against the terms. Nora’s “translation” is still in French: Translated to English ✗.
-
One click prepares the dispute evidence. Every sentence cites a recorded event; here the record supports the client.
-
The private honesty check: before a claim is sent, only its author sees what the record says, so nobody gets accused by mistake.
-
The evidence report for PayPal: a neutral timeline, each side’s statement and an assessment, every sentence tied to the record.
-
Rafael is played by AI, so anyone can test DealRoom alone. His thumbnail fails the check (no yellow background), and he sends a revision.
Inspiration
Freelancers work across a dozen apps: the client on WhatsApp, the brief in email, the file on Drive, the money on PayPal, Wise or a bank transfer. When something goes wrong ("I never received it", "that's not what we agreed", "pay me on Friends & Family to skip the fees"), it's their word against the client's, and the proof is scattered everywhere. I wanted one place where the deal itself is the proof.
62% of New York freelancers have lost pay because a client never paid, and 91% have been paid late (Freelancers Union, 2022). Fewer than 1% went to court: they had no proof, only scattered messages.
What it does
DealRoom is a chat where people who sell digital work and people who buy it talk, agree, pay and deliver. Every step is recorded with its time.
- The chat becomes a contract. When the conversation has the work and a price, the AI drafts the terms from the chat. Both sides accept, and only an agreed change can move them later. New work becomes a new deal.
- PayPal payment locked to the terms. The freelancer makes a real PayPal invoice, and the client pays with the PayPal button. The amount comes from the accepted terms, not from the browser.
- AI file check. Every delivery (image or PDF) is checked against the terms: "Translated to English ✗", "Yellow background ✗".
- Download record. When the client opens the file, it's recorded, which matters when someone says "I never received it".
- Scam warnings. Off-platform payment tricks (Friends & Family, Wise, crypto, "I overpaid, send the difference back") are flagged as they're typed.
- Private honesty check. Before someone sends a claim the record contradicts, DealRoom shows only them the facts, so nobody gets accused by mistake.
- Grounded dispute evidence. One click builds a report for PayPal: a neutral timeline, both sides' statements and an assessment. Every sentence must cite a recorded event, or code removes it. For the freelancer it goes through PayPal's Disputes API; the client gets the PDF for their case.
- A business dashboard on AG Grid's AG Studio. What you earned through PayPal, who owes you, what needs you now, and "Proof on record" for every deal: terms, payment, delivery, download. An AI assistant answers questions from the record, like "What's my client return rate?"
How DealRoom uses PayPal
- Orders v2 + capture: the server creates the order from the accepted terms, so the amount can't be changed in the browser (no overpayment scam).
- Invoicing v2: one tap turns the accepted terms into a real PayPal invoice: no tips, the deposit as the minimum first payment.
- Refunds: refunds can only go back to the original capture, so money can't be redirected.
- Webhooks with signature verification: payments, refunds, reversals and disputes reported by PayPal land in the right deal, and DealRoom only trusts events that really come from PayPal.
- Disputes API (provide evidence): one click sends the grounded evidence report (PDF + summary) to the real PayPal dispute, so PayPal gets a cited timeline instead of screenshots.
Why it's good for PayPal
100% of deals in DealRoom are paid through PayPal. A safe room brings freelancers, and freelancers bring their clients. Fewer disputes and scams reach PayPal, and the ones that do come with a cited evidence report through the Disputes API.
How I built it
- Backend: Python, Flask and SQLite. Each visitor gets a private copy of the demo world, and both logins share it, so two windows update live.
- PayPal (sandbox): Orders v2 with a server-set amount, capture, Invoicing v2, Refunds, the Disputes API to provide evidence, and verified webhooks.
- AI: NVIDIA Nemotron models on Nebius: Nano for quick classification, Super for terms, claims and dispute reports, and Super VL for checking images.
- Rule: the AI reads, code checks. Every number in the terms must appear in the chat. Every sentence in a dispute report must cite an event. Every message from the AI-played people is checked against the record before anyone sees it.
- Dashboard: AG Studio (AG Grid) with custom widgets, a custom theme, and its AI agents connected to the same models. The assistant gets exact facts computed by code from the record.
- Testing: 61 automated tests, scripted tricky scenarios on the real models (35 of 35 passing), and an AI tester: a model plays a liar, a scammer, a haggler or a prompt-injection attacker against the app, and a second model audits the result.
Challenges I ran into
- AI that agrees too easily. The AI-played client said "I've sent the payment" when PayPal showed nothing, and offered to pay a deposit twice. Now code checks every AI message against the record, and the model retries or stays silent.
- A curly apostrophe broke a safety check. "I’ve" slipped past a rule written for "I've". The AI tester found it.
- Terms that followed the first request instead of the latest agreement. "I don't do brown, only red" still produced brown terms until the rules put the latest agreement first.
- A vision model fooled by a detail. A blue dog portrait passed "red logo" because the dog wore a red collar. The check now confirms the file is the agreed item, and that a color means the main colors of the work.
- A payment that silently didn't complete. PayPal refuses to capture an order whose invoice id it has already seen. Every order now gets a unique id, and a failed capture is shown, never swallowed.
Accomplishments that I'm proud of
- Real PayPal payments, invoices and dispute evidence, all tied to one recorded conversation.
- AI that is checked by code instead of trusted: no invented payments, no contracts that drift from the chat.
- Letting an AI attack my own app, and fixing what it found.
What I learned
Trust in a marketplace isn't about being nice. It's about proof that both sides can see. And with AI, the useful question isn't "can it write this?" but "how do I check what it wrote?"
What's next for DealRoom
- File previews that unlock fully on the final payment, so the freelancer never gives work away for free.
- Payment reminders sent through PayPal Invoicing.
- Live updates in the dashboard the moment a PayPal payment lands.
- Real accounts and invitations, so any freelancer can bring their clients.