AI Portfolio: The Portfolio That Speaks for Itself
The traditional portfolio — a static page with a list of projects and a PDF résumé — no longer cuts it in a market where everyone has the same stack and the same certifications. The difference between landing an interview and being passed over comes down to the experience you offer the visitor. aiPortfolio is the answer: a portfolio that doesn't just show your work — it explains it, demonstrates it, and answers questions in real time.
🤖 What Is aiPortfolio?
aiPortfolio is a SaaS platform that lets developers create an interactive portfolio with a built-in AI conversational assistant. Instead of forcing the visitor to read through your entire page to understand your experience, they simply ask the chatbot.
Examples of what it can answer:
- "What projects have you built with React?"
- "How much experience do you have with databases?"
- "Have you worked at startups or large companies?"
- "Show me your AI projects"
The AI doesn't make things up: it answers using real context extracted from your projects, uploaded documents, and profile imported from GitHub or LinkedIn.
🔍 The Engine Under the Hood: RAG on Your Own Projects
The technical foundation is a RAG (Retrieval-Augmented Generation) architecture. Every project you add to the portfolio becomes a vector embedding stored in Supabase with pgvector. When a visitor asks a question, the system:
- Converts the question into an embedding using
text-embedding-3-small - Searches for the most relevant projects via semantic similarity
- Injects that context into the LLM prompt
- Generates a precise, personalized response
// Simplified flow of the /api/chat endpoint
async function handleChat(message: string, userId: string) {
// 1. Embed the incoming question
const queryEmbedding = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: message,
});
// 2. Search relevant projects in pgvector
const { data: relevantProjects } = await supabase.rpc('search_projects', {
query_embedding: queryEmbedding.data[0].embedding,
match_threshold: 0.7,
match_count: 5,
});
// 3. Build context for the LLM
const context = relevantProjects
.map(p => `Project: ${p.title}\n${p.description}`)
.join('\n\n');
// 4. Stream the response
const stream = await openai.chat.completions.create({
model: 'gpt-4o-mini',
stream: true,
messages: [
{ role: 'system', content: `You are ${userName}'s portfolio assistant. Context:\n${context}` },
{ role: 'user', content: message },
],
});
return stream;
}
The result is a chatbot that knows your work as well as you do — available 24/7 for any recruiter or client who visits your portfolio.
🎨 GenUI: The AI That Builds the Interface
Beyond text, aiPortfolio includes dynamic UI generation (GenUI). When a visitor asks about your tech stack or career timeline, the AI doesn't just respond with words — it renders visual components on the fly.
The 11 available block types include:
skills— Skills map with experience levelstimeline— Interactive career timelineshowcase— Filterable project gallerystats— Impact stats (repos, commits, years of experience)barchart/piechart/linechart— Data visualizationsachievements— Gamified accomplishmentstechstack— Stack organized by categoryproject— Visual detail view of a single projectcontact— Contextual contact information
// Example GenUI block generated by the AI
const skillsBlock = {
type: 'skills',
data: {
categories: [
{
name: 'Frontend',
skills: [
{ name: 'React', level: 95, years: 5 },
{ name: 'Next.js', level: 90, years: 3 },
{ name: 'TypeScript', level: 88, years: 4 },
],
},
{
name: 'AI & Backend',
skills: [
{ name: 'OpenAI API', level: 85, years: 2 },
{ name: 'Supabase', level: 82, years: 2 },
{ name: 'pgvector', level: 75, years: 1 },
],
},
],
},
};
The visitor experiences the portfolio as a conversation, not a reading exercise.
⚙️ The Tech Stack Behind aiPortfolio
The platform is built with production-grade, modern technologies:
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 15 + React 19 | App Router, Server Components |
| Language | TypeScript | Full end-to-end type safety |
| AI / Chat | OpenAI gpt-4o-mini | Primary chatbot model |
| AI Alternative | Google Gemini 2.5 Flash | Configurable secondary model |
| Streaming | Vercel AI SDK v6 | Real-time responses |
| Database | Supabase (PostgreSQL) | Multi-tenant with RLS |
| Vector search | pgvector | Semantic project search |
| Embeddings | text-embedding-3-small | Content vectorization |
| Auth | Supabase Auth | GitHub + LinkedIn OAuth |
| Payments | Stripe | Subscriptions and webhooks |
| Deploy | Vercel | Edge functions + CDN |
| Testing | Playwright | Automated E2E tests |
The multi-user architecture uses Row Level Security (RLS) in Supabase to ensure each portfolio only accesses its own data — no extra configuration required.
💳 Plans and Use Cases
aiPortfolio operates as a three-tier SaaS:
Free Plan — Get started
- 5 GitHub repositories synced
- 10 indexable documents (PDFs, résumés)
- 100 chat messages per month
- Chatbot with your stack and projects
Pro Plan — $9/month
- Unlimited repositories and documents
- Unlimited messages
- Auto-sync with GitHub
- Priority embedding queue
Business Plan — $29/month
- Everything in Pro
- Custom domain (e.g.,
chat.yourdomain.com) - API access for integrations
- Conversation analytics
For freelancers and developers in job search mode, the ROI is straightforward: one interview landed through the portfolio covers months of subscription.
🚀 How It Works in Practice
The onboarding flow takes under 10 minutes:
- Sign up with email or GitHub OAuth
- Connect GitHub — automatically imports your repositories with descriptions and READMEs
- Upload documents — CV, case studies, certifications (PDF/Word)
- Customize the assistant — name, tone, language
- Share the link — your portfolio is already answering questions
The system processes each repository and document as embeddings in the background. Within minutes, the chatbot knows every project you've published in detail.
Wrapping Up
A portfolio that talks removes the friction between a curious recruiter and the information they need. Instead of waiting for them to read everything, the assistant responds in seconds — in the right language, with the right level of detail.
aiPortfolio brings together the most relevant technologies of 2026 — RAG, GenUI, streaming, pgvector — into a product that's ready to use without managing your own infrastructure.
If you want to implement something similar for your company, or need to integrate conversational AI into an existing application, the AI integration service is built for exactly that. You can also explore AI-driven development for more ambitious projects. Get in touch and let's talk through your use case.