Skip to content
Home

Side projects / Career RAG

Career RAG

Creator · Backend

2026 | Building

I turned my scattered work history into a private memory that any AI assistant can query and update over MCP.

Stack

MCP, Supabase, pgvector, PostgreSQL, OAuth 2.1, RAG

Links

GitHub ↗

Career RAG cover

Overview

CVs and LinkedIn profiles lose detail. Multidisciplinary experience (backend, architecture, leadership, mentoring) doesn’t fit neatly under job titles, and every time I wrote a CV, a cover letter or prepared an interview I had to rebuild that context from memory.

Career RAG is a remote MCP server that stores my experience as companies, roles, projects, concrete evidence and skills. Claude, ChatGPT, Codex or any other MCP client can search it, add to it, and check a job offer against it, with answers grounded in what I actually did.

A deterministic backend, by design

The client’s LLM does the thinking: it understands what I say in any language, structures it, and writes an English layer for search. The server never generates text. It validates, stores, indexes and retrieves, so it can’t make up experience.

Every record keeps two layers: English fields tuned for semantic search, and my original wording, verbatim. Inferences are stored as inferred, with an explanation, and are never silently turned into facts.

My contribution

  • Designed the data model, with projects and evidence as the unit of retrieval instead of job titles.
  • Built hybrid search in SQL: pgvector semantic search, Postgres full-text search and exact skill matching, fused with Reciprocal Rank Fusion.
  • Implemented a draft → commit ingestion flow, so every change is reviewed before it’s saved and keeps its provenance.
  • Shipped it as a remote MCP server on Supabase Edge Functions, secured with OAuth 2.1 and row-level security.
  • Added heuristic job-requirement matching that reports coverage and gaps with the supporting evidence.

What it demonstrates

This project shows how I approach AI systems: put the LLM where it adds value, keep the backend deterministic and auditable, and design retrieval around the questions people really ask. It’s RAG, data modeling and auth applied to a problem I had myself.

Stack

  • Supabase: Postgres, pgvector, full-text search, Edge Functions and Auth (OAuth 2.1 + DCR)
  • Built-in gte-small embeddings, with no external AI APIs
  • Model Context Protocol (Streamable HTTP)