-
-
Oak Street Quad: a four-roommate house lease, marked on-device — rent, fees, and a 90/100 friction score.
-
Click a trap clause: joint-and-several liability is selected, with the matching passage highlighted in the lease.
-
Campus View Premium: “license not a lease,” stacked fees, and $7,380 if a roommate skips.
-
One-page evidence card: questions to ask before signing, copy for a parent or roommate. Not legal advice.
Inspiration
A student housing lease is long, timed to move-in week, and written so the person signing it will not actually read it. The person we built for is Jordan, 19: they got a 12-page contract, they will not sit with it like a lawyer, and they still need to know what money is due and which clauses make a roommate’s missed rent their problem — without uploading the lease to a company.
Proof of Possible asked for evidence, not a pitch. A chatbot wrapper would have been the easy wrong answer.
What it does
Exhibit stays in the browser. You paste a lease (or load a sample), click Recheck this lease, and it marks rent, deposits, stacked fees, dates, notice windows, and trap clauses: joint-and-several liability, auto-renewal, “this is a license not a lease,” entry without notice, cameras, mandatory add-ons.
It also estimates a roommate share vs. what you owe if someone skips, and it builds a one-page evidence card you can copy for a parent or roommate.
How we built it
Next.js 16, React 19, TypeScript, Tailwind CSS. All analysis is client-side pattern matching in src/lib/analyze.ts — no backend, no model API at runtime, no accounts. Two fictional sample leases (Oak Street Quad and Campus View Premium) are in the repo so judges can try it without a real contract.
Development used Cursor. The Next.js create-next-app starter was scaffolding only.
Challenges
The honest one: existing “AI lease readers” already exist, and most upload your PDF to a server. We chose a narrower product (student housing language, local-only, Recheck on demand) and we say plainly what it will miss. Unusual wording, scans, and photos fail. It does not look up state landlord-tenant law. The friction score is not a court prediction.
What we learned
A small, testable extractor that a judge can click through is a better “proof of possible” than a generic chat box. Responsible delivery meant putting limitations in the product, not only in the README.
Built With
- javascript
- next.js
- react
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.