Inspiration
The idea started with the story of a construction worker we knew overworked with no real breaks, who likely had no idea what the law entitled him to or how to act on it. His employer held all the information and all the language and he could do nothing about it.
That asymmetry is the real problem. Migrant workers aren't indifferent to their rights, the systems meant to protect them are simply written in a language and legal vocabulary they were never given access to. So with Fineprint, we asked what if the contract itself could be read back, in the worker's own language, telling them exactly what they're owed and what to do next? That question became Fineprint.
What it does
Fineprint is a voice-first assistant that helps migrant workers understand what labor protections and benefits they're entitled to, and how to claim them.
A worker photographs their contract and answers a few short questions. Fineprint detects which country's law applies, checks their situation against that jurisdiction's existing programs (job-loss protection, severance, free dispute channels), and returns a plain-language, deadline-aware action plan in their own language. This action plan consists of what they may be owed, why, and the exact next step, with citations to the actual rule behind every claim.
It's built to catch the traps that employers use to quietly cost workers money without them noticing, like an exit letter that says "resignation" when the worker was actually let go, which can void a benefit worth months of pay. It surfaces that conflict and counts down the deadline to fix it.
How we built it
We treated this as a real pipeline, not a single prompt: capture and quality-check the photo, extract structured facts with a vision model (haiku), then we let the worker review and correct before any reasoning runs, then we detect jurisdiction (including special/free zones with their own law), and ask the questions for facts the contract can't contain, then we run a grounded eligibility pass that attaches a citation to every claim, and rewrite everything in plain language, translate it, and read it aloud.
We used tiered models, so a faster model for extraction, intake, and translation (haiku), and a stronger reasoning model for jurisdiction detection and eligibility (sonnet), where the real interpretation happens. Eligibility runs against a curated rules corpus per each specific jurisdiction with a citations-only system prompt, so every statement is grounded or deferred, and the AI never guesses. Voice runs through the browser's speech APIs for this build. The frontend is mobile-first, since this is a tool people will use on a phone quickly.
Challenges we ran into
The hardest problem was making the AI say things that were right, and making it know when not to answer. Early versions would explain a program the worker didn't qualify for, or phrase a possibility as a certainty. Hence, we rebuilt around the hard rule that every claim needs a citation or the system defers to legal aid, and it can only ever say "you may qualify," never "you qualify."
Jurisdiction detection was another large challenge. Some places have entire economic zones with separate employment law, and applying national rules there gives a confidently wrong answer. To solve this problem, we made jurisdiction detection its own explicit reasoning step rather than a quiet assumption inside eligibility.
Language was the other real challenge. A correct legal explanation is one problem, but having one a low-literacy, second-language reader can actually understand is different. We had to stop translation from drifting back into formal language or losing a number, deadline, or "may" along the way and that required a lot of anti-hallucinatory work.
Accomplishments that we're proud of
The responsible-AI design is enforced at almost every stage: confidence scoring, human review before any reasoning runs, citations-only eligibility, explicit conflict detection, and a hard boundary that the AI never files anything on the worker's behalf.
We're also proud of the moment our project first worked, when the worker's exit letter contradicted what was told and the system caught it, and a live countdown showing exactly how many days are left before real money is lost was shown. This is what proved to us that the model was not just looking things up and was actually interpreting someone's situation to actively help.
What we learned
Responsible AI design isn't one specific constraint added to a working system, it's a series of specific decisions at each step, far easier to build in from the start than after the system is working. True accessibility is harder than it sounds, plain language, voice, and translation that holds up under pressure all have to be designed deliberately.
What's next for Fineprint
Expanding jurisdiction coverage is logically the most immediate step, the architecture is built so a new country means just adding new rule sets and keeping the same architecture. We ideally would also move speech-to-text and text-to-speech onto a dedicated voice pipeline built for accented, low-resource speech, and move retrieval from an in-context corpus to a Qdrant vector database as it grows.
Longer term, we want the product to be used and known through community organizations, legal aid groups, or employer onboarding, since the best version of this tool is the one that reaches the worker before their deadline runs out.
Built With
- anthropic-vision
- claude-api
- claude-haiku
- claude-sonnet
- css3
- express.js
- html5
- javascript
- node.js
- react
- tailwindcss
- vite
- web-speech-api
Log in or sign up for Devpost to join the conversation.