Every step of the pipeline is designed to be visible, explainable, and demo-friendly.
┌───────────┐ ┌──────────────┐ ┌────────────────┐ ┌───────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ 1 Ingest │──▶│ 2 Extract/OCR│──▶│ 3 Classify │──▶│ 4 Embed (3072)│──▶│ 5 Relationship LLM │──▶│ 6 RAG retrieval │
│ PDF/DOCX/ │ │ gemini-2.5 │ │ zero-shot LLM │ │ gemini- │ │ cosine + LLM │ │ hybrid + re-rank + │
│ image/URL │ │ flash + vis. │ │ + confidence │ │ embedding-2 │ │ validate edges │ │ inline citations │
└───────────┘ └──────────────┘ └────────────────┘ └───────────────┘ └────────────────────┘ └────────────────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
documents entities (with pgvector HNSW relationships (typed + Growth narrative
(Postgres + attributes, halfvec index confidence + reasoning) · Gap analysis
Storage) confidence, on 3072-dim · Ask your journey
reasoning) cosine
PDF, DOCX, image, URL, or pasted text. Files land in Lovable Cloud storage; text is captured verbatim.
gemini-2.5-flash reads the document. Scanned images are OCR'd by the same vision-capable model.
Each atomic entity is classified into one of skill · project · certification · internship · achievement · academic, with a 0-1 confidence and one-sentence reasoning.
gemini-embedding-2 → 3072-dim vectors stored in Postgres pgvector, indexed with HNSW halfvec cosine.
New entities are compared to existing ones by cosine similarity; the LLM validates each candidate edge with a one-sentence reasoning and confidence.
Queries are embedded, top-k matched via pgvector, and re-ranked/grounded by the LLM, which cites the retrieved entities and source documents.