An Intelligent Portfolio Generator Powered by AI
Transforming resumes into stunning portfolio websites—effortlessly.
Showcase is an intelligent web application that transforms your resume, project descriptions, and skill inventories into a sleek, personalized portfolio website.
- 🏜️ Hybrid "Sandbox" Architecture - Zero-latency preview using Frontend WebContainers.
- 💉 Data Injection Pipeline - AI generates pure data, which is injected instantly into pre-built React templates.
- 🤖 Developer Agent - An AI agent that can modify the code of your chosen template based on your feedback (e.g., "Change the background to blue").
- 🚀 True 1-Click Deployment - Automagically pushes code to GitHub and deploys to Vercel.
graph LR
User[User Upload Resume] --> Backend[FastAPI Backend]
Backend --> Agent[Portfolio Creator Agent]
Agent -->|Structured Data| DB[(Database)]
DB --> Frontend[React Frontend]
Frontend -->|Load Template| Sandbox[WebContainer Preview]
Sandbox -->|Inject Data| LivePreview[Live Site]
LivePreview -->|User Feedback| DevAgent[Developer Agent]
DevAgent -->|Code Edits| Sandbox
LivePreview -->|Deploy| DeployAgent[Deployment Agent]
DeployAgent -->|Push| GitHub
GitHub -->|Trigger| Vercel
Before you begin, ensure you have:
- Python 3.11+ & Node.js 18+
- Docker & Docker Compose (for Database/Redis)
- API Keys (Crucial for functionality):
- Gemini API Key: For the AI Agents.
- GitHub Token (Personal Access Token with
reposcope): For creating your portfolio repository. - Vercel Token: For deploying your site to the world.
git clone <repository-url>
showcaseInstall All Dependencies (Backend + Frontend):
make install # Python dependencies
make install-frontend # React dependenciesCreate your .env file:
cp .env.example .envEdit .env and fill in these values:
# AI Provider
GEMINI_API_KEY=your_gemini_key
# Deployment (Required for "Deploy" button)
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
VERCEL_TOKEN=xxxxxxxxxxxxStart the infrastructure (Postgres/Redis) and all services:
# Terminal 1: Infrastructure
make dev-up
make upgrade # Run migrations
# Terminal 2: Backend
make run-backend
# Terminal 3: Worker (For AI tasks)
make run-celery
# Terminal 4: Frontend
make run-frontend- Upload: Go to
http://localhost:5173, click "Upload Resume". - Watch: See the Agent analyze your resume in real-time.
- Preview: The Editor will open. You will see your portfolio instantly via the WebContainer.
- Refine: Chat with the agent! "Make the title bigger", "Change the theme to dark". The Developer Agent will edit the code live.
- Deploy: Click "Publish". The Deployment Agent will create a GitHub repo and live Vercel URL for you.
showcase/
├── app/ # FastAPI Backend
├── agents/ # Agno Agents (Resume Analysis, Code Editing, Deployment)
├── frontend/ # React/Vite Frontend
│ └── src/
│ └── templates/ # Portfolio Templates (Loaded by WebContainer)
├── templates/ # Source Templates
└── docker-compose.yml # Infrastructure
MLSA KIIT Chapter Built with ❤️ by the Microsoft Learn Student Ambassadors community.