-
-
Meet VERDICT. An AI that investigates payment disputes.
-
New evidence came in, and VERDICT changed its conclusion to support the buyer.
-
Connecting the evidence to figure out what actually happened.
-
Every receipt, statement, and PayPal record in one place.
-
A real $1 PayPal Sandbox dispute, imported straight into VERDICT.
We started with a pretty simple question: why are payment disputes still so difficult to investigate?
A buyer says they never received something. The seller says it was delivered. Both have receipts, screenshots and their own version of what happened.
The problem isn't always a lack of evidence. Sometimes the right evidence exists, but nobody has asked the right person for it.
We wanted to see if AI could do more than just read those documents. What if it could actually investigate the dispute, figure out what's missing, and go looking for it?
That's where VERDICT came from.
What it does?
VERDICT is basically an AI investigator for payment disputes.
You can import a dispute directly from PayPal, and VERDICT starts working with the available payment and order information.
It reads receipts, checks documents, compares what the buyer and seller are saying, and builds an evidence graph showing how everything connects.
But the part we really wanted to get right was what happens when the evidence isn't enough.
Instead of just saying "more information needed," VERDICT figures out what to ask next and who might have the answer. It creates a private link for that person to submit evidence.
When something new comes in, the investigation runs again.
For our video, we used a $1 PayPal Sandbox dispute about headphones that supposedly never arrived. The seller provided a delivery receipt, but the buyer claimed the package was sent somewhere else.
VERDICT picked up the conflicting addresses. We then introduced another piece of evidence, and the system changed its assessment to support the buyer.
That was exactly the kind of workflow we wanted to build.
How we built it?
We used FastAPI and Python for the backend, React and TypeScript for the frontend, and Supabase for storing cases and evidence.
PayPal's Sandbox APIs let us import actual dispute, payment and order records.
For the AI side, we're using Gemini 3.1 Flash Lite, with Gemini 3.5 Flash Lite as backup.
We also brought together OCR for reading receipts, OpenStreetMap-based address lookup, and React Flow for the evidence graph.
Everything runs as a web app deployed on Render.
Challenges we ran into ->
Getting an AI to read a receipt was the easy part. Getting it to understand what that receipt proves, what it doesn't prove, and whether it contradicts another document was much harder.
At one point, our evidence graph kept repeating the same buyer statement multiple times. We had to fix how claims were extracted and connected to their sources.
We also ran into Gemini outages, missing records, and addresses that couldn't be located accurately on a map.
Another challenge was making sure the AI didn't sound more certain than the evidence allowed. Just because a receipt says "delivered" doesn't mean the buyer actually received the package.
We spent a lot of time working through these cases.
What we're proud of ->
The fact that this is an actual working application, not just a chatbot with a few sample prompts.
There are user accounts, saved investigations, real PayPal Sandbox imports, document uploads, private witness links, an evidence graph, and automatic reassessment when new information arrives.
Seeing VERDICT change its conclusion after receiving a seller's new statement was a pretty satisfying moment.
It showed us that the idea could work as a complete investigation workflow.
What we learned?
Combining existing AI models and tools is one thing. Getting them to work together reliably is another.
We learned that an investigator needs to know when it doesn't have enough information, not just produce a confident answer every time.
And we realized that collecting the missing evidence can be just as important as analyzing the evidence you already have.
What's next?
There's still plenty we want to build.
Right now, some evidence has to be collected through private requests. We'd love to connect VERDICT directly to merchant systems and delivery companies so it can retrieve checkout histories, shipping records and carrier information automatically.
We also want to take it further toward authorized dispute resolution, where the system can help carry out the next action after the investigation.
The bigger idea is simple: instead of spending hours going back and forth over a dispute, let the system do the investigative work and show exactly how it reached its conclusion.
VERDICT — Find the evidence that changes the picture.
Built With
- fastapi
- google-gemini
- leaflet.js
- ocr
- openstreetmap
- paypal
- postgresql
- python
- react
- react-flow
- render
- supabase
- typescript
- vite