Our products · Legal AI (RAG)
Justice Genie
Justice Genie helps people who are representing themselves prepare their case. Users upload their documents and ask questions in plain English; answers are designed to be grounded in those documents and cited public law — and when there's no source, it says so instead of guessing. It provides legal information for education and practice, not legal advice.

The product and the goal
Self-represented litigants face deadlines, forms, and hearings without a lawyer. General-purpose chatbots are risky here because they can invent statutes and quotes. Justice Genie's goal is the opposite: answers you can trace to a page in your own evidence or to an authoritative public source, with clear warnings and referrals to free legal aid where an app isn't enough.
The challenge
Legal accuracy is non-negotiable, so "grounded or abstain" had to be enforced by the system, not just requested in a prompt. The app also had to keep each user's cases strictly isolated, resist prompt injection hidden in documents from an opposing party, and stay usable when an AI provider fails mid-request.
What we built
A multi-tenant FastAPI application that serves both the web app and a JSON API.
- Accounts with a required educational-use consent, and cases across 23 case types with a 54-entry jurisdiction picker (every US state, federal, and other).
- Document ingestion for PDF, Word, Excel, text, and images: extracted, chunked, embedded, and remembered per case.
- Grounded chat with citations, a plain confidence score, a caution on weakly grounded answers, and abstention when no source supports an answer.
- Live law retrieval from authoritative public sources — including eCFR, CourtListener, GovInfo, Regulations.gov, and Open States — with a verification step that checks each claim against the fetched text before a citation is shown.
- A mock-hearing practice mode where the AI plays opposing counsel, a judge, or a witness and asks case-grounded questions, plus live hearing and deposition modes with cited suggestions.
- Grounded drafting of letters, declarations, and motions with a line-by-line verifier, and fillable PDF court forms stamped "PRACTICE DRAFT — not legal advice" on every page.
- Deadline tracking with a reminder bell, high-risk case warnings (criminal, family, immigration, housing, bankruptcy), and a built-in directory of free legal-help resources.
Architecture highlights
Uploads flow through an idempotent pipeline — extract, chunk, embed — into a per-case vector index. At question time, retrieval over the user's documents is combined with on-demand law lookups restricted to an allowlist of authoritative sources, and the answer engine refuses to answer without support. Every prompt that includes document or on-screen content tells the model to treat it as data, never as instructions.
Model calls are routed across Anthropic, OpenAI, and Gemini by task complexity, with fallback between providers and a clean, disclaimed message if all of them fail. A tenant-isolation guard checks case ownership before any case data is read or changed.
Security, SEO, and performance
On September 21, 2026 we hardened the public site: a Content-Security-Policy that analytics now comply with, preload-eligible HSTS on every response, frame protection, gzip compression, an HTML 404 page, and a pricing page, alongside existing structured data, sitemap, robots.txt, and llms.txt. A smoke-test suite covers security headers, auth, ingestion, RAG, hearing, practice, law retrieval, drafts, and forms.
Justice Genie shows how we approach AI agent development and AI security for high-stakes domains: retrieval-grounded answers, verification, abstention, and prompt-injection defenses by design.
Results
- Live at justicegenie.help.
- Scores 94/100 on our own website audit tool as of September 21, 2026, up from 77 before that day's security and SEO hardening.
- Supports 23 case types and 54 jurisdictions, with answers that cite sources or abstain.
- Dozens of commits between June and September 2026.
Facts verified against the project's repository and live site. Past results don't guarantee future results; every project is different.
More case studies
All case studies
Our products · AI desktop app
Co-Help
Shipping v5.11.1 for Windows and macOS, backed by a managed API that races AI providers in parallel.
- Electron
- Multi-LLM
- Cloud Run
- Stripe

Our products · AI testing platform
NexGen QA
Live at qa-automation.com and app.qa-automation.com, with a BYOK runner that never sees customer API keys.
- React 19
- Node.js
- Prisma
- Playwright

Client project · Community events
Bagram Events
Live at bagram.us: event listings, ticket links, and a Resend-powered contact form.
- Next.js
- React 19
- Three.js
- Resend