ChatFolio
A conversational portfolio that answers a recruiter's questions instead of making them scan a PDF.
Founder and developer. I designed the ingestion flow, retrieval layer, and product architecture.
2026
Context
A static portfolio shows what its owner chose to write. Recruiters still have to hunt for specifics — a particular project, a technology, a gap in a timeline.
ChatFolio turns a resume, LinkedIn export, GitHub profile, or website into a knowledge base that a visitor can question directly, with answers grounded in the person's own material.
The problem
The portfolio has to work for any profession, not just software engineering, so the data model cannot assume a fixed resume schema.
Answers must be grounded in retrieved evidence, and publishing has to stay simple enough for non-technical users.
Technical decisions
A provider-agnostic AI service
LLM and embedding calls sit behind a single service so the provider can change without rewriting product code. The current implementation uses OpenRouter.
Retrieval over a flexible knowledge base
Content is stored as text chunks with metadata rather than a rigid relational resume schema. Chunks are embedded and retrieved from Qdrant, then passed to the model as context.
Multi-source ingestion
Separate drivers handle LinkedIn PDFs, GitHub profiles, existing websites, and manual entry. Ingestion and vectorization run on background queues so the onboarding request stays fast.
Multi-tenant by subdomain
Each published portfolio gets its own subdomain, with a draft/publish workflow and per-tenant theming. Inertia + Vue SSR keeps public pages indexable.
Challenges and fixes
Grounding without a schema
Because profiles are free-form, the retrieval layer needs to surface the right evidence for arbitrary questions. Chunking and metadata quality matter more than prompt wording.
Onboarding latency
Parsing a PDF and embedding dozens of chunks takes time. The flow was split into a four-step wizard with queued processing so users can see progress instead of waiting on a blank screen.
Results
- Working core: authentication, AI service abstraction, Qdrant retrieval, and chat API.
- Multi-source ingestion and the publishing dashboard are in progress.
- Not publicly launched yet.
Note: In active development. No public demo is linked while ingestion and publishing are unfinished.
Want to talk about this work?
I'm open to full-time onsite roles in Dhaka.