How rachit101-cell/legal-lens works
LegalLens is a web application for turning uploaded legal agreements into cited risks, obligations, timelines, and grounded answers. The principal workflow runs from upload through document extraction and clause analysis, then presents results in the dashboard or answers document-specific chat questions. The README describes redlines, party/obligation mapping, and evidence verification as product capabilities; the graph includes their supported modules, but several route and service implementations were not sampled, so uncertain call wiring is omitted.
Main entry points: intelligence_engine.py Intelligence engine · document_engine.py Document engine · main.py FastAPI application · chat.py Chat endpoints
Components 27
Web client
- LegalLens web app
apps/web/app - API client
apps/web/lib/api.ts
API workflows
- FastAPI application
apps/api/app/main.py - Document endpoints
apps/api/app/api/documents.py - Analysis endpoints
apps/api/app/api/analysis.py - Chat endpoints
apps/api/app/api/chat.py
Document ingestion
- Upload service
apps/api/app/services/upload_service.py - Document engine
apps/api/app/services/document_engine.py - PDF parser
apps/api/app/services/parsers/pdf_parser.py - DOCX parser
apps/api/app/services/parsers/docx_parser.py - OCR parser
apps/api/app/services/parsers/ocr_parser.py
Legal intelligence
- Intelligence engine
apps/api/app/services/intelligence_engine.py - Segmentation
apps/api/app/services/intelligence/segmentation.py - Clause taxonomy
apps/api/app/services/intelligence/taxonomy.py - Entity extraction
apps/api/app/services/intelligence/entity_extraction.py - Risk findings
apps/api/app/services/analysis/finding_engine.py - Contract timeline
apps/api/app/services/analysis/timeline_engine.py - Clause retrieval
apps/api/app/services/retrieval/retrieval_engine.py - AI generation
apps/api/app/services/ai/generation.py - Evidence verification
apps/api/app/services/evidence/verification_engine.py
Data and integrations
- Analysis repository
apps/api/app/repositories/analysis_repo.py - Document repository
apps/api/app/repositories/document_repo.py - PostgreSQL database
apps/api/app/db/session.py - Object storage service
apps/api/app/services/storage.py
Other components
- Contract reviewer
- S3-compatible storage
- Hosted model providers
Connections 30
- Contract reviewer → LegalLens web app: uploads and reviews
- LegalLens web app → API client: requests API
- API client → FastAPI application: sends REST requests
- FastAPI application → Document endpoints: dispatches document requests
- FastAPI application → Analysis endpoints: dispatches analysis requests
- FastAPI application → Chat endpoints: dispatches chat requests
- Document endpoints → Upload service: handles uploads
- Upload service → Object storage service: stores file
- Object storage service → S3-compatible storage: reads and writes objects
- Document engine → Document repository: loads and updates document
- Document engine → Object storage service: downloads file
- Document engine → PDF parser: parses PDF
- Document engine → DOCX parser: parses DOCX
- Document engine → OCR parser: parses scanned content
- Document engine → PostgreSQL database: saves pages and clauses
- Analysis endpoints → Intelligence engine: runs analysis
- Intelligence engine → PostgreSQL database: reads document pages
- Intelligence engine → Segmentation: segments pages
- Intelligence engine → Clause taxonomy: classifies clauses
- Intelligence engine → Entity extraction: extracts entities
- Intelligence engine → Risk findings: generates risks
- Intelligence engine → Contract timeline: generates events
- Intelligence engine → Analysis repository: saves analysis records
- Analysis repository → PostgreSQL database: persists results
- Chat endpoints → Clause retrieval: searches clauses
- Clause retrieval → PostgreSQL database: reads clauses
- Chat endpoints → AI generation: generates answer
- AI generation → Hosted model providers: requests completion
- Chat endpoints → Evidence verification: checks cited claims
- Evidence verification → Clause retrieval: uses evidence clauses