Transparency

How Waive uses AI

STEMINATE Hacks asks teams to disclose significant use of AI. Here is a complete, honest account, what the AI does in Waive, how the project was built, and the lines the model is never allowed to cross.

AI reads. Code decides.

The high-stakes outputs, your deadline, the remedy you’re routed to, and whether you automatically qualify for a strong escape hatch, are computed by tested, deterministic code that shows its work. A model never decides any of them. The AI’s only job is to read your letter and rephrase the result so it’s understandable.

In the product, three bounded jobs

Reads the notice

A local vision model turns the uploaded letter into structured fields, issuer, dates, amounts, case numbers. It extracts; it never concludes.

lib/llm/extraction.ts

Explains & translates

The deterministic result is built first. The model is only allowed to rephrase it in plain language, or in another language (EN/ES/FR). It cannot add or change a legal claim, deadline, or amount.

lib/llm/client.ts

Answers your questions

“Ask about your notice” answers are grounded strictly in the verified citation corpus, never free-form legal advice invented on the spot.

lib/qa.ts

The model runs locally via Ollama, no paid cloud API. If it’s unavailable, every feature degrades gracefully to deterministic, citation-grounded behavior, so the demo runs fully offline. The model is optional by design: your deadline never depended on it.

Built with an AI coding assistant

This project was built during the hackathon window with significant help from an AI coding assistant (Anthropic’s Claude / Claude Code), under our direction. No pre-existing codebase was used, the repository was created from empty and developed across the event.

What the assistant did
Scaffolding, most of the implementation code, the unit and golden tests, the UI components, and documentation drafts, guided by our specification and decisions.
What we directed and own
The product concept and architecture (a domain-blind engine + pluggable rule packs); the hard constraints (run on a local model, no paid cloud API; the jurisdictions we ship); the non-negotiable design principles (deterministic legal logic, the AI as a bounded translator, verified-citations-only, integrity over engagement); and the legal-source verification.
We can explain it
On request we can walk through why the high-stakes logic is deterministic, how each deadline is computed (pure, golden-tested date math), how the system is prevented from hallucinating law (a rule → corpus-id mapping, never the model), and how a new injustice is added (implement the RulePack interface; the engine doesn’t change).

Legal-content integrity

Every legal claim shown is mapped to a curated citation corpus and verified against official sources (ssa.gov, 20 CFR via Cornell LII, SSA EM-25029 REV, and the Ontario, British Columbia, and California statutes and court rules). There are no fabricated citations; the corpus contains zero placeholder citations, and a test enforces it. Waive is positioned throughout as information and document preparation, not legal advice.