Create a powerful, modern developer portfolio in minutes β fully customizable through a single JSON file and enhanced by AI.
No coding knowledge required. Just configure, deploy, and showcase your best self.
π NEW: Looking for the marketing landing page? Check out our dedicated landing page repository with SEO-optimized content designed to showcase this portfolio builder to the world!
Traditional Portfolios | This Portfolio |
---|---|
Tedious manual edits | Edit 1 JSON file β instant updates |
Risk of breaking code | Zero coding required |
Complex, hard-to-customize codebase | Intuitive configuration, AI-powered assistance |
Outdated design | Modern, responsive layout |
Step-by-step Setup
-
Fork & Clone
git clone https://github.com/your-username/portfolio.git cd portfolio
-
Install Dependencies
npm install # or pnpm install # or yarn install
-
Get a Google Gemini API Key
- Visit Google AI Studio
- Sign in, create an API key, and copy it.
-
Configure Environment
- Copy
.env.example
to.env.local
- Add your API key:
GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_api_key_here
- Copy
-
Edit Your Info
- Fill
portfolio-config.json
with your information (see below).
- Fill
-
Add Images
- Replace images in
/public/
as needed (profile, projects, etc).
- Replace images in
-
Run Locally
npm run dev
- Visit http://localhost:3000
-
Deploy
npm run build
- Deploy to Vercel, Netlify, or any platform.
Let AI build your portfolio configuration for you!
- Upload your resume (PDF/DOC) and the sample
portfolio-config.json
to ChatGPT or Claude. - Use this prompt:
Please generate a portfolio-config.json using my resume and this template. Include my experience, skills, projects, and suggested images.
- Alternatively, manually edit
portfolio-config.json
to customize your info, skills, and projects.
View File Structure
portfolio/
βββ portfolio-config.json # Main configuration
βββ public/ # Images & assets
βββ src/ # Source code
β βββ app/ # Next.js app structure
β βββ components/ # UI Components
β βββ lib/ # Config loaders & utilities
β βββ types/ # TypeScript types
β βββ hooks/ # React hooks
βββ docs/ # Documentation
βββ assets/ # Documentation assets
βββ package.json # Project metadata
βββ ...
- Profile Picture:
public/profile.jpeg
(400x400px+) - Project Screenshots:
public/project-1.jpg
(1200x800px recommended) - Favicon:
public/favicon.ico
(32x32px) - Use compressed images for faster load times (e.g., TinyPNG)
- External URLs supported
- Fully customizable AI chat, driven by your JSON config.
- Features:
- Preset questions & responses
- Dynamic AI replies (Google Gemini API)
- Mobile optimized
- Quota management & graceful fallback
Example config:
{
"chatbot": {
"name": "Your Digital Twin",
"personality": "Professional yet friendly",
"tone": "Conversational and helpful"
}
}
- Environment Variables:
GOOGLE_GENERATIVE_AI_API_KEY=your_key
NEXT_PUBLIC_SITE_URL=https://your-site.com
(optional)
- Validation:
node -e "console.log('Valid JSON:', !!JSON.parse(require('fs').readFileSync('portfolio-config.json')))" npm run type-check npm run build
Manual:
- Push to GitHub
- Import to Vercel/Netlify/Railway
- Set environment variables
- Deploy!
- Themes: Edit
tailwind.config.ts
- New Sections: Update JSON, add components/tools/types as needed
- Analytics: Integrate via
layout.tsx
- Image Hosting: Local, GitHub, CDN
- AI Chat not working? Check your API key and quota.
- Images missing? Ensure correct paths and filenames.
- Build failing? Validate JSON and run type checks.
- Need help?
Full guides in docs/
:
We welcome your contributions!
Check open issues or read CONTRIBUTING.md to get started.
MIT License β see LICENSE for details.
Made with β€οΈ by developers, for developers
β Star on GitHub | π Report Bug | π¬ Request Feature