← All projects

Document retrieval / Assistant demo

CouncilMate AI

Find council-service information through a question-and-answer interface with source references.

My contribution
I built the council-information retrieval assistant described in this portfolio, including its ingestion, retrieval and answer-generation flow.
Tools & methods
Python · FastAPI · ChromaDB · Scrapy
Existing CouncilMate interface screenshot.
Existing CouncilMate interface screenshot.

The problem

What this project investigates

Council-service information is spread across pages and documents. The project brings relevant passages into a single answer while retaining a path back to the source.

The build

What I built

The documented pipeline crawls council pages and PDFs, chunks and embeds the content, retrieves passages from ChromaDB and supplies them to a language model through a FastAPI backend.

Technical choices

Decisions behind the build

Keep source metadata

Metadata travels with retrieved chunks so an answer can point back to the underlying information.

Separate ingestion from answering

Scrapy and Playwright handle collection; the API handles retrieval and generation.

Current status

What the evidence shows

The portfolio includes a screenshot and a demo address. It does not include a retrieval benchmark, freshness audit or evidence of council adoption. Source references help review an answer; they do not guarantee correctness.

Further work & evidence gaps

Document crawl dates, failed retrievals and citation accuracy before making stronger reliability claims.