SideBar reads the record, profiles the judge, and rehearses both sides of the argument before you ever stand up. Hosted for your firm, with row-level isolation so confidential work stays confidential.
Cases, evidence, profiles, and reports are scoped to your firm by Postgres row-level security. Models never see another firm's record. Your work is exportable on demand.
Every case, every document, every report is bound to your org by Supabase RLS. The keys to your data sit with your org owner — bring your own Supabase project if you need full data sovereignty.
TLS in transit. Postgres column encryption for sensitive fields. Storage objects served behind short-lived signed URLs scoped to the requesting member.
Cases live as standard Postgres rows; reports as Markdown. Export to JSON or PDF in one click. When you delete a case, the rows and the Storage blobs are both gone — no soft-delete shadow.
Four tabs, one workflow. Each step persists to Supabase the moment an agent finishes, so you can close the tab and pick back up on any device.
PDFs, DOCX, plain text. SideBar extracts, chunks, embeds, and classifies each document — admissibility, weight, role.
CourtListener + Perplexity research, distilled by Claude into an 8-section profile: ruling history, motion patterns, evidentiary preferences, and oral-argument style.
A Prosecution agent and a Defense agent debate your case under a Judge agent modeled on the actual judge. Score, predicted ruling, and judicial notes per round.
A final preparation memo — executive summary, weaknesses to shore up, openings, anticipated objections, predicted outcome — generated by Claude Opus, rendered as Markdown.
Screen-by-screen specs, the Supabase schema, the Edge Function surface, the RAG pipeline, agent prompts, and the streaming protocol — all open in the repo.