Skip to main content

Command Palette

Search for a command to run...

Building Portfolio 2.0: AI-Powered Personal Portfolio with Theme Switching & LLM Integration

Updated
4 min readView as Markdown
Building Portfolio 2.0: AI-Powered Personal Portfolio with Theme Switching & LLM Integration

In today’s world, a static portfolio website no longer cuts it. Developers and professionals need dynamic, interactive, and smart portfolios that reflect their work, engage visitors, and even answer questions — all powered by the latest AI technologies.

I’m excited to share my plan and architecture for Portfolio 2.0, a fully customizable, open-source portfolio platform with:

  • Theme switching for personalized UI/UX

  • An embedded Large Language Model (LLM) that understands and summarizes your work

  • Crawling and ingesting data from your GitHub, blogs, and resumes

  • Powerful vector search with semantic embeddings

  • Secure authentication via Google, GitHub, and LinkedIn OAuth

  • Scalable deployment with Kubernetes


Why Portfolio 2.0?

Traditional portfolios are static snapshots, often manually updated, and lack interactivity. Imagine if your portfolio could:

  • Dynamically crawl and ingest your latest blogs and projects

  • Answer visitor questions like a personal assistant, powered by AI

  • Switch themes to suit your style or time of day

  • Authenticate visitors or yourself securely and provide private modes

This project aims to push that vision into reality.


The Core Tech Stack

Component Technology Why?
Frontend React with Tailwind CSS Modern UI with customizable themes and real-time chat interaction
Backend FastAPI Fast, asynchronous API server handling auth, LLM calls, content processing
Authentication OAuth (Google, GitHub, LinkedIn) User-friendly, secure login and signup
Large Language Model Google Gemma (configurable) Open-source, free, and configurable LLM for local or API-based inference
Vector Database Weaviate or Qdrant (configurable) Semantic search with embeddings to find relevant user content
Object Storage MinIO S3-compatible storage for blogs, resumes, markdown, and parsed content
Deployment Kubernetes Scalable, production-grade deployment environment

Architectural Overview

At the heart of the system is a FastAPI backend orchestrating all data flow:

  • Auth Module: Secure OAuth logins and session handling

  • Content Processor: Crawls GitHub, blog URLs, and PDFs; parses and chunks content

  • Object Storage: Stores raw and parsed data in MinIO

  • Vector DB: Embeddings generated from content chunks are stored and queried here

  • LLM Services: Queries Google Gemma or other LLMs for context-aware responses

  • WebSocket Server: Real-time chatbot interface for interactive conversations

User Flow

  1. User signs in using OAuth.

  2. Connects their GitHub, blog, or uploads resume.

  3. Backend crawls and processes content, storing files in MinIO.

  4. Embeddings are generated and saved in vector DB.

  5. User or visitors chat with the AI-powered bot for questions.

  6. The chatbot uses semantic search to fetch relevant context and responds.


Why These Technologies?

FastAPI

FastAPI is an excellent choice because of its asynchronous capabilities, ease of development, and strong community support — essential for building scalable backends that integrate with LLMs and WebSockets.

React + Tailwind

React allows building dynamic, responsive user interfaces, while Tailwind CSS provides utility-first styling that makes theming and customization straightforward.

LLM's

Starting with Google Gemma — a free, open-source LLM — keeps the project accessible and extensible. The architecture is built to swap in other LLMs like OpenAI, Ollama, or local models seamlessly.

Weaviate / Qdrant

Vector search is key for semantic retrieval. Both Weaviate and Qdrant offer powerful, scalable solutions for embedding storage and similarity search. Being configurable means users can select based on their needs.

MinIO

Using MinIO as object storage leverages your existing infrastructure, allowing scalable and efficient storage of large, unstructured user data like blogs, resumes, and markdown files.

Kubernetes

Kubernetes ensures your portfolio can scale, update, and remain highly available, perfect for an open-source project meant for real users.


Deployment & Future Plans

The entire platform is containerized and orchestrated via Kubernetes, with plans to offer:

  • CI/CD automation for seamless updates

  • Plugin architecture for adding new content sources (YouTube, LinkedIn, Twitter)

  • Analytics dashboards tracking chatbot queries and portfolio views

  • Enhanced privacy controls and multi-user support


Conclusion

Portfolio 2.0 is more than a website — it’s your AI-powered personal assistant, storyteller, and professional showcase all in one. It leverages modern AI and web technologies to keep your presence fresh, interactive, and intelligent.

If you’re interested in contributing or following the project, stay tuned for the open-source repo launch!