We will be undergoing planned maintenance on Oct 7th 6:00AM UTC / Oct 7th 2:00AM ET

Inspiration

Aegis was inspired by a simple belief: people deserve a fair chance to understand their situation, protect themselves, and find help they can afford.

Legal problems can feel overwhelming, especially when someone is facing serious allegations, housing pressure, employment issues, or a dispute they do not know how to navigate. People may feel frightened, isolated, and unable to move forward because legal language, costs, and the search for representation create barriers before they even get started.

We wanted to make legal access more empowering. Aegis helps individuals understand what type of help they may need, explore relevant legal resources, and find nearby representation that fits their location and budget. Our goal is not to replace a lawyer. Our goal is to help people take the first informed step and feel less alone while doing it.

What it does

Aegis is a legal-accessibility platform that combines legal-information guidance with lawyer discovery.

Users can describe a legal situation in plain language. Aegis classifies the issue, retrieves relevant Canadian and Alberta legal references, and produces a clear, non-advisory explanation with citations.

The platform also includes an interactive lawyer-matching workspace where users can:

  • Search nearby lawyers on a map
  • Adjust location radius and budget preferences
  • Select a lawyer or firm to compare
  • Ask an AI assistant for context-aware help choosing representation
  • View formatted answers with links, headings, lists, and practical next steps

The focus is helping users understand their options and connect with the right kind of support sooner.

How we built it

We built Aegis with a Django backend and a React + Vite frontend.

The frontend uses MapLibre and CARTO map data to display nearby legal providers, markers, popups, geolocation, radius filtering, and a resizable lawyer-search and AI-assistant workspace.

The Django backend provides endpoints for legal questions, nearby-lawyer discovery, and the lawyer-matching assistant. We used a Hugging Face zero-shot classifier to identify broad legal categories, CanLII sources to retrieve legal authority, and Claude to turn verified context into plain-language guidance.

We also built authentication flows, sessions, CSRF protection, caching with Redis, and production deployment infrastructure through Railway.

Challenges we ran into

The hardest challenge was making AI guidance useful without presenting it as legal advice. Legal information needs to be understandable, grounded in reliable sources, and honest about uncertainty.

We also faced real technical challenges:

  • CanLII rate limits and provider availability
  • Incomplete lawyer data such as missing fees, reviews, and practice areas
  • Preventing repetitive AI responses in chat
  • Connecting React, Django, Vite, map rendering, authentication, and APIs cleanly
  • Production deployment issues involving Node, PostgreSQL, Redis, static files, migrations, and environment configuration

These challenges pushed us to build clearer fallbacks, validate requests, preserve context carefully, and communicate limits directly to users.

Accomplishments that we're proud of

We are proud that Aegis became more than a generic legal chatbot.

We created a practical experience where legal guidance and lawyer discovery work together. A user can go from “I do not know what to do” to understanding a legal category, seeing relevant resources, finding nearby representation, and asking follow-up questions in one place.

We are also proud of the map-based matching experience, contextual AI assistant, citation-focused legal pipeline, and the effort to make every response feel readable instead of intimidating.

What we learned

We learned that accessibility is not only about putting information online. It is about making the next action clear.

We learned that legal AI needs strong boundaries, verified sources, graceful failure handling, and transparent wording. We also learned that good lawyer matching depends on better structured data: practice area, jurisdiction, availability, fees, distance, and the user’s actual needs all matter.

Most importantly, we learned that technology can help people feel more capable when it is designed to support their agency rather than overwhelm them.

What's next for Aegis

Next, we want to expand Aegis with:

  • More complete lawyer profiles, practice areas, affordability signals, and availability
  • Stronger legal-aid, clinic, tribunal, and community-resource referrals
  • Broader Alberta and Canadian legal coverage
  • Evidence checklists, document organization, and deadline reminders
  • Better source verification and citation transparency
  • Smarter matching between a user’s legal issue and the most relevant legal providers

Aegis is moving toward a future where understanding your rights and finding help does not feel like a privilege. It should feel like the beginning of being able to fight for yourself.

How we built it

Aegis is built as a full-stack Django and React application designed around one goal: turn a confusing legal question into a clearer, more actionable next step.

System architecture

React + Vite interface
        ↓
Django API endpoints
        ↓
Legal classifier + lawyer matching logic
        ↓
CanLII legal-source retrieval and citation parsing
        ↓
Anthropic AI explanation layer
        ↓
Structured response with sources, limits, and next steps

Built With

Share this project:

Updates

Submission history