Skip to content

itsbryanman/CourtNav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CourtNav 🏛️

A multilingual court-date navigation and reminder platform that helps people actually make it to court.

Built for the LevelNext Hackathon 2026.

The Problem

Millions of court dates are missed every year — not because people are fleeing, but because they forgot, couldn't get there, didn't understand the notice, or couldn't find childcare. The consequences cascade: bench warrants, license suspensions, job loss, housing instability.

The Solution

CourtNav is a navigation and access tool (not legal AI) that provides:

  • Multilingual reminders — SMS and email in English, Spanish, Vietnamese, Arabic, and Haitian Creole
  • One-tap responses — "I'll Be There," "I Can't Make It," or "I Need Help" directly from a reminder link
  • Support requests — transportation, interpreter, ADA accommodation, and childcare assistance
  • Self-service reschedule requests — guided flow to request a continuance in plain language
  • Court prep guides — "What to Expect in Court" written at a 5th-grade reading level, per case type
  • Clerk dashboard — AI-prioritized support request queue, response tracking, request management
  • AI-powered — real-time translation, text simplification, and support request prioritization via Google Gemini

What This Is NOT

  • ❌ Legal advice or case strategy
  • ❌ Sentencing recommendation tool
  • ❌ Autonomous legal decision-making
  • ❌ Punitive "risk scoring" system

Tech Stack

Layer Technology
Frontend React 18, Vite, Tailwind CSS, TypeScript, react-i18next
Backend Python 3.11, FastAPI, SQLAlchemy, Alembic
Database PostgreSQL 16
AI Google Gemini API (translation, readability, prioritization)
SMS/Email Mock services (Twilio & SendGrid ready)
DevOps Docker Compose

Getting Started

git clone https://github.com/[username]/courtnav.git
cd courtnav
cp .env.example .env
# Add your GEMINI_API_KEY to .env
docker compose up --build

Then seed the demo database:

docker compose exec backend python -m app.seed

Access:

Service URL
Frontend http://localhost:5173
API Docs http://localhost:8000/docs
Clerk Login http://localhost:5173/clerk/login

Clerk demo credentials: clerk@example.org / ChangeMe123!

Project Structure

├── backend/
│   ├── app/
│   │   ├── api/routes/      # FastAPI route handlers
│   │   ├── core/            # Config, security
│   │   ├── db/              # SQLAlchemy session
│   │   ├── models/          # 15 ORM models
│   │   ├── schemas/         # Pydantic request/response schemas
│   │   ├── seed/            # Demo data generator (942 lines)
│   │   └── services/        # AI, SMS, email, auth, token services
│   ├── alembic/             # Database migrations
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── pages/           # 9 page components
│   │   ├── layouts/         # Public + Clerk layouts
│   │   ├── lib/             # API client, routing, auth
│   │   ├── components/      # Shared UI components
│   │   └── i18n/            # English + Spanish translations
│   ├── Dockerfile
│   └── package.json
├── docker-compose.yml
└── docs/
    └── technical-specification.md

Demo Flow

  1. Participant receives a reminder link → lands on the response page (auto-translated to their language)
  2. Taps one of three buttons: ✅ I'll Be There · ❌ I Can't Make It · 🆘 I Need Help
  3. "I Need Help" → support request flow (transportation, interpreter, ADA, childcare)
  4. "I Can't Make It" → reschedule request flow (reason, details, preferred dates)
  5. Court prep → "What to Expect" guide with collapsible sections
  6. Clerk logs in → dashboard shows AI-prioritized support queue with scores and explanations

AI Features

CourtNav uses Google Gemini for three functions, each with rule-based fallbacks if the API is unavailable:

  • Translation — translates reminder content and UI into the participant's preferred language
  • Simplification — rewrites legal/court content at a 5th-grade reading level
  • Prioritization — scores support requests 0.0–1.0 based on urgency, request type, and days until hearing (ADA and interpreter requests are flagged as legal requirements)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors