Completed
LLM Proposal Management System
Reading old proposals to write new ones.
Built during a professional internship. The system ingests a company’s existing proposal documents, works out the structure hiding inside them, and turns that structure into a reusable template, then drafts new proposals into it with retrieval-augmented generation, so the output sounds like the company rather than like a language model.
- Python
- Flask
- Next.js
- React Query
- PostgreSQL
- Alembic
- RAG
- JWT

Templates extracted from documents
Upload the proposals you already have (PDF or DOCX) and the system analyses their unstructured text to find the headings, the fixed sections and the fields that change every time. What comes out is a structured, reusable template: the tedious part of standardising a document, done by reading rather than by hand.

Context-aware drafting with RAG
Generation happens inside the template, grounded in the company’s own material rather than in generic knowledge. A short brief is enough: each section is filled with content that stays consistent with the others and with everything the company has written before.

Versioned, permissioned, collaborative
The platform manages the whole lifecycle, not just the text. Access is JWT-authenticated with distinct analyst and customer roles, every revision is versioned and diffable against the previous one, and clients can leave feedback directly on a draft instead of in a separate email thread.
Other side projects