<Dagasfi />
Full-Stack AI Engineering

Making my Portfolio
Conversational.

Standard resumes are great for structure, but sometimes you just want a specific answer without digging through PDFs.

I built this RAG Agent not to replace the CV, but to complement it. It allows visitors to query my experience naturally, verifying every fact against my database.

See Architecture

Built with Modern Infrastructure

Next.js 14
Vercel AI SDK
Pinecone
Gemini Pro
Sanity CMS

Under the Hood

The Architecture Pipeline

Data integrity was the priority. A breakdown of how a user query travels through the security layer, hits the vector database, and generates a verified response.

STEP 01

Ingestion

My resume data (Sanity CMS) is converted into vector embeddings and indexed in Pinecone.

STEP 02

Guardrails

A lightweight model analyzes the user input for toxicity, jailbreaks, and off-topic queries.

STEP 03

Retrieval (RAG)

We perform a semantic search in Pinecone to find the most relevant context chunks.

STEP 04

Synthesis

Gemini Pro generates the final answer using the strict context provided. Streamed via Vercel AI SDK.

The Motivation

I've always been curious about LLMs, but I didn't just want to wrap the OpenAI API. I wanted to understand the full lifecycle of an AI product.

This project was my sandbox to learn about vector embeddings, prompt engineering, and the importance of "grounding" AI responses to prevent hallucinations. It also serves a practical purpose: making my portfolio more interactive and accessible.

Key Challenges Solved

Hallucinations

Preventing the model from inventing jobs or skills I don't have. Solved with strict RAG context injection.

Prompt Injection

Preventing users from overriding system instructions. Solved with a dedicated analysis layer.

Mobile UX

Chat widgets often break on mobile keyboards. Implemented a responsive full-screen adapter with safe-area handling.

See the system in action

Test the RAG pipeline yourself. Ask specific questions about my tech stack or projects to see how it retrieves information.