Hybrid retrieval over everything published here — dense vectors in pgvector fused with Postgres full-text search — answered by quoting the site back to you, with links to where each sentence came from. A language model is available too, and it runs on your own machine rather than on anyone's API key.
Match a job description.
Paste the requirements and get back what this portfolio can actually evidence, with the passage that proves each one — and, just as plainly, what it cannot.
How it works.
Embeddings, computed not bought
Every hosted embedding API is metered, and this project runs on free tiers only. So the vectors are hashed TF-IDF: terms hashed into 256 dimensions, weighted by sublinear term frequency times inverse document frequency, L2-normalised. That is a lexical embedding — it does not know that “Kubernetes” and “container orchestration” are related, and no tuning will teach it.
Which is why retrieval is hybrid
Dense lexical vectors and full-text search fail differently: one handles morphology and near-misses, the other nails a rare exact term. Both run on every query and the results are fused by reciprocal rank, which throws away two incomparable score scales and keeps only the ranks — so a passage both retrievers like beats one that either ranked first alone.
Extractive first, generated second
The answer above the fold is sentences taken verbatim from these pages, chosen by overlap with your question. It cannot hallucinate, because it cannot write. The model is opt-in, downloads once, runs on your GPU, and is handed the same passages as context.
What is in the index
52 passages, with vector search active, last rebuilt Aug 18, 2026. Projects, posts, skills, experience and services are chunked by heading rather than by character count, so each passage is about one idea and can be cited as a section.