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

Share this project:

Updates

Submission history