Inspiration
If you've ever been laid off, you know the hardest part isn't always the news. It's the document they hand you afterward: dense legal language, a deadline to sign, and a high-stakes decision to make at the exact moment you're least equipped to think clearly. Most people sign without fully understanding what they're agreeing to, or what they're giving up. I wanted to build something that meets people in that moment and gives them clarity without pretending to be a lawyer.
What it does
Severance, explained takes a severance or separation agreement and breaks it down in plain language. You paste your offer and get a clear, structured read on four things: what you're actually being offered, what looks standard, what deserves a closer look, and what to do before you sign.
When the offer contains something with real legal consequences, like a broad release of claims, a non-compete, or an unusually short signing deadline, it flags the concern and points you to an employment attorney. It never tells you whether the deal is good or bad, and it never tells you to sign. Those decisions belong to you and, when it matters, to a real lawyer.
How we built it
It's a single-page app built with vanilla HTML, CSS, and JavaScript, kept deliberately simple. The analysis runs through the Claude API via a Vercel serverless function, which takes the pasted offer and returns a structured breakdown along with an escalation flag and reason. The whole thing is hosted on Vercel and instrumented with Novus for product analytics. No database, no framework, no user accounts. The offer text is never stored.
Challenges we ran into
The hardest challenges were not the interesting product work, they were the plumbing. Getting environment variables to load correctly across local development and production deployment took real persistence, including a deep debugging session through permission issues, a deployment that silently overrode local config, and a truncated API key. The lesson stuck: even with AI-generated code, debugging is inevitable, and the unglamorous infrastructure is often where shipping actually stalls.
The harder product challenge was calibration. Testing with a sparse, informal offer surfaced a real flaw where the tool listed components as "standard" even when they weren't present in the offer, contradicting its own analysis. Fixing that meant tightening the prompt to only describe what's actually in front of the user.
Accomplishments that we're proud of
The product handles the full range of real-world inputs. I stress-tested it with a realistic offer, a deliberately predatory one full of illegal and contradictory clauses, a one-line informal offer, and a genuinely fair, generous one. It stayed calm and accurate across all of them: catching the illegal waivers and coercive deadlines in the bad offer, and correctly recognizing the fair offer as fair instead of crying wolf. Getting the escalation to be discriminating, serious when it should be and quiet when it shouldn't, was the thing I most wanted to get right.
What we learned
Trust is the product. For a decision this consequential, restraint and honesty are the features, not caveats bolted on at the end: the tool never stores your offer, never tells you whether to sign, and is explicit that it provides information, not legal advice.
I also learned how much the human-in-the-loop design matters. The AI synthesizes information quickly, but on anything with real legal weight it hands off to a human expert who carries the actual decision. The AI extends the person; it doesn't replace the lawyer. And finally, adversarial testing, throwing extreme and minimal inputs at it rather than just the happy path, is what turned a demo into something I'd actually trust.
What's next for Severance, explained
The natural next step is making the handoff real. Today the tool tells you to consult an employment attorney; next it could connect you to a vetted network of employment lawyers directly, or in an enterprise version, route flagged clauses to an internal HR or legal team with the AI pre-summarizing the concerns so the human starts informed. There's also room for a side-by-side view that highlights the specific clauses in your offer that triggered each flag, mapping the analysis directly onto the original text.
Built With
- claude
- css
- github
- html
- javascript
- node.js
- novus
- vercel
Log in or sign up for Devpost to join the conversation.