Inspiration

Lawyers and investigators spend hundreds of hours manually reviewing unstructured evidence like WhatsApp exports, bank statements, and PDFs. It is incredibly easy to miss a crucial contradiction hidden across different documents. We wanted to automate this discovery process and give legal teams an "AI paralegal" that never sleeps and never misses a detail.

What it does

Digital Evidence Room is an AI-powered investigation workspace. Users drop raw evidence files into the workspace, and a team of specialized AI agents automatically goes to work to:

  • Build a Timeline: Extract every dated event into a chronological master timeline.
  • Extract Entities: Map out every person, organization, and account mentioned.
  • Find Claims & Contradictions: Identify factual assertions and explicitly flag when two pieces of evidence contradict each other.

Finally, an Investigator Agent is available via a chat interface. Users can interrogate the evidence, and the agent will use the extracted data and semantic search tools to provide a concise answer with exact source citations.

How we built it

We built a decoupled, microservice architecture to handle the heavy lifting:

  • Frontend: Built with Next.js and TailwindCSS for a responsive workspace UI.
  • Backend API: A Go API that handles file parsing, WebSocket connections for real-time chat, and PostgreSQL ingestion.
  • Agent Microservice: A Python FastAPI service powered by the strands agent framework.
  • AI Models: We used AWS Bedrock to power our multi-agent architecture.

Instead of one massive prompt, we used a Supervisor Agent that orchestrates three Specialist Agents (Timeline, Entity, and Claims agents). These specialists output pure JSON, which is persisted to the database for the UI and Investigator agent to use.

Challenges we ran into

  • JSON Enforcement: Getting LLMs to consistently output valid, parsable JSON without markdown wrapping or conversational filler was difficult. It required strict prompt engineering and robust parsing fallback logic in the Go backend.
  • Context Windows: Processing massive WhatsApp chat logs threatened to blow past token limits. We had to implement chunking strategies during ingestion to ensure the agents only chewed on digestible pieces of evidence.

Accomplishments that we're proud of

  • Successfully implementing a Multi-Agent Architecture where specialized agents work together to build a unified case profile.
  • Getting the Go and Python microservices communicating seamlessly with the Next.js frontend over WebSockets.
  • Getting the system to successfully flag contradictions across two completely different file types.

What we learned

  • Breaking down a massive prompt into three specialized agents drastically improved accuracy and reduced hallucinations.
  • We learned how to programmatically invoke foundation models securely using AWS Bedrock and Python.
  • Managing state between a Go API and a Python agent service requires careful architectural planning, especially when handling asynchronous extraction.

What's next for Digital Evidence Room

  • OCR Integration: Allowing investigators to upload scanned images and handwritten notes using AWS Textract.
  • Graph Visualization: Adding a visual node-graph in the UI so investigators can connect the dots between entities, bank accounts, and phone numbers.
  • Enterprise Deployment: Packaging the microservice stack into an easy-to-deploy AWS ECS template so law firms can deploy private instances.

Built With

Share this project:

Updates

Submission history