Legal RAG and an AI email assistant
At Epiisa I built E-Advokat, a legal AI agent that cites its sources, and the backend of CueLoop, an AI email and calendar assistant.
Outcome
- Cited answers, to the passage
- Semantic search over email threads
- Multi-tenant FastAPI with RBAC
Stack
Ask me about thisE-Advokat: a legal AI agent
A LangChain and ChromaDB RAG pipeline that answers legal questions with citation-level attribution, so every answer points to the passage it came from. Statutes and court rulings come in through OCR ingestion, and everything is served through FastAPI.
Hover or tap a citation
Question in plain language
- 1
Statute
Article, paragraph
- 2
Court ruling
Reasoning, section
- 3
Statute
Article, paragraph
Illustration with placeholder text. E-Advokat ingests statutes and court rulings through OCR and cites the exact passage behind each answer.
CueLoop: an AI email and calendar assistant
FastAPI services on Google APIs through OAuth2, with LLM draft generation, meeting detection, and embedding-based semantic search over email threads.
- Re: weekly sync moved
- Invoice for October
- Offsite plan, draft 2
- Notes from Tuesday call
- Payment received, thanks
Illustration with made-up threads. The best match shares no keywords with the question; embeddings find it by meaning.
The engine underneath
- An asyncio task engine for minute-level polling and concurrent background jobs across parsing, scheduling and indexing.
- Secure multi-tenant FastAPI services with PostgreSQL and MongoDB schemas, token-based authentication and RBAC.
- A dynamic-programming pricing engine that optimizes rental rates from regional usage patterns (Vroomski).
- CI/CD with Docker Compose and GitHub Actions, pytest coverage, and Next.js frontends where products needed them.