Arbi is a self-initiated product, design and engineering by me, end to end. Two people who disagree about something small are interviewed separately by an AI investigator, and the system returns a written decision. No accounts, no download, one shared link. If they want, they can put money on it.
It is a deliberately awkward product to design, because the interesting parts are the ones a demo hides. A verdict is easy to generate and hard to make trustworthy. The work was in the parts that decide whether anyone believes the answer: how the questioning behaves, what the system is allowed to say when it does not know, and what happens to real money when a decision lands.
One person starts a case and gets a link. The other person opens it. Neither sees what the other wrote. Arbi interviews each of them separately, then compares the two accounts, asks a clarifying question if it needs one, and issues a written decision with its reasoning attached.
The whole thing is built to be finished in one sitting. A case lives for 24 hours and then expires; the second party has a response deadline; push reminders fire on a fixed ladder as both clocks run down. Nobody creates an account at any point, and the entire product ships in three languages.
Entry, the case screen both parties share, and the landing state once real cases exist.
An AI that settles arguments is trivial to prototype and very easy to get wrong. Ask a model to judge a dispute and it will always produce something confident, fluent and shaped like a verdict, whether or not it has the facts. The design problem was never generating a decision. It was building the conditions under which a decision deserves to be believed.
Before writing the interview I wrote the rules it has to obey, as a document, in plain language. Tone, question length, what a follow-up may reference, what it may never reveal, and the root causes the investigation is trying to surface: misunderstanding, miscommunication, broken expectations, unmet agreements, timing.
The five core questions are deliberately short enough to answer while walking:
The important part is where those rules live. Anything the product cannot survive being wrong about is enforced in the backend, not requested in the prompt. The model is told the minimum interview length; the API also refuses a submission below it, and forces another question if the model tries to end early. A returned decision that is not one of the known categories is normalised, and anything unrecognised falls back to insufficient information rather than to a guess. Prompts are instructions. Invariants are code.
Free arbitration is easy to walk away from. The stake exists because a decision nobody is bound by is just an opinion, and the smallest honest form of commitment between friends is not a contract, it is who is buying.
Both parties pay in, the pot is held in escrow, and the winner claims it through Stripe Connect. A platform fee comes out of the pool. There is exactly one appeal per case, and it only runs if both sides accept it, so an appeal is a mutual second look rather than a losing party's retry button. An unclaimed pot expires on a timer instead of sitting in limbo forever.
Shown in test mode, where the stakes are set to $0.50 and $1.00.
The canvas is near-black with a single soft aurora behind everything, and the mascot is the only saturated object on screen. That is doing real work: the subject matter is already tense, and a bright interface reads as a courtroom. The owl is what makes a stranger willing to type the true version of what happened.
Everything else is deliberately quiet. One idea per screen, one primary action, generous line length for reading a decision, and a footer that says in plain words that this is not legal advice. The same component set carries the phone and the desktop layout, because a case routinely starts on one and finishes on the other.
The product promises a verdict. The decision that shaped everything else was to let it decline to give one.
Alongside finding for either party and finding shared responsibility, insufficient information is a first-class outcome, with the confidence value and evidence weight that produced it shown rather than hidden. It is also the fallback: anything the model returns that cannot be recognised resolves to a refusal, never to a coin flip.
Force a side every time, with a percentage split for close cases. It is what the product appears to promise, it is what people opened it to get, and it makes the paid flow trivial, because there is always someone to pay.
A user can pay, wait, and be told nobody won, which is the single worst moment in the product and one I built on purpose. It forced a whole second system to exist: an escrow that can unwind, a pot with no winner of record, a claim window, and a defined end state for money nobody collects. A percentage split would have removed all of it. What I could not defend was an arbitrator that is never allowed to say the honest thing, because a judge who always rules is not neutral, just decisive, and once money is on the table that difference is the entire product.
There are no usage numbers here and I am not going to invent any. What I can show is where I chose to spend the effort, which was on the two places this product can actually hurt someone: the money and the claim to neutrality.
Everything that matters most. I have no data on whether people accept a verdict they lose, which is the only success metric this product really has. Nor on completion rate for the second party, the drop-off point inside the interview, how often the system refuses to decide on real disputes rather than my test cases, or whether the stated confidence predicts acceptance at all. Those are four instrumentation jobs and one study, and none of them can be answered from my own machine.
I designed the neutrality and then validated the plumbing. The payout path has been attacked from four directions; the verdicts have been read by one person, who is also the person who wrote the rulebook they follow, and who knew what the right answer was before reading them. That is the weakest possible ground truth for a product whose whole claim is impartiality.
The honest next step is not the appeal flow or a fifth language. It is running twenty real disputes past a handful of people who have no stake in my being right, and finding out whether the losing side accepts the decision, because a verdict nobody accepts is a text generator with an owl on it.
Impact: Arbi takes the least serious thing in the world, an argument about who owes who a coffee, and treats it with the seriousness the mechanism actually needs: a written rulebook, an interviewer that is not allowed to overreach, a decision that can decline itself, and real money moving under transactional guarantees. Roughly 19,000 lines across a hundred-odd files, designed and built solo in a month. It is the clearest example of how I work on AI-driven products, which is to assume the model will eventually say something wrong and design the system so that when it does, nothing important breaks.