Skip to content

TechyCSR/Portlify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ Portlify

AI-Powered Resume to Portfolio in Seconds

Live Demo License

Features β€’ Architecture β€’ Quick Start β€’ API


🎯 What is Portlify?

Portlify transforms your PDF resume into a beautiful, responsive portfolio website using AI. Upload your resume, get a shareable portfolio URL instantly. No coding required.

Resume.pdf β†’ AI Parser β†’ Professional Portfolio β†’ Share Anywhere

🎬 Demo

demo-v22-full.mp4


Open Live App


Live Example: portlifyai.app/username


✨ Features

πŸ€– AI-Powered

  • Smart resume parsing with Google Gemini
  • Auto skill categorization (6 categories)
  • Experience & project extraction
  • Contact & social links detection

🎨 Design

  • Dark/Light theme support
  • Mobile-first responsive design
  • Glassmorphic UI elements
  • Smooth animations (Framer Motion)

βš™οΈ Core

  • Custom username URLs
  • Real-time profile editor
  • Portfolio analytics dashboard
  • Export as static ZIP

πŸ‘‘ Premium

  • Username customization
  • Custom footer branding
  • Priority support
  • Premium badge

πŸ—οΈ Architecture

graph TB
    A[Client: React + Vite] --> B[API: Express.js]
    B --> C[Database: MongoDB]
    B --> D[AI: Google Gemini]
    B --> E[Storage: Cloudinary]
    B --> F[Payments: Razorpay]
    
    style A fill:#6366f1
    style B fill:#10b981
    style C fill:#f59e0b
    style D fill:#ec4899
    style E fill:#8b5cf6
    style F fill:#ef4444
Loading

Request Flow

Upload PDF β†’ Extract Text β†’ AI Analysis β†’ Parse Data β†’ Store in DB β†’ Generate Portfolio

πŸ› οΈ Tech Stack

Layer Technologies
Frontend React 18 Β· Vite Β· Tailwind CSS Β· Framer Motion Β· React Router
Backend Node.js Β· Express Β· MongoDB Β· Mongoose Β· Clerk Auth
AI/ML Ollama Cloud (gemma3:4b) Β· PDF/DOC/DOCX Parse Β· NLP
Services Cloudinary (Images) Β· Razorpay (Payments) Β· Vercel (Hosting)
Tools Git Β· npm Β· MongoDB Atlas Β· VS Code

πŸš€ Quick Start

Prerequisites

Node.js 18+ Β· MongoDB Atlas Β· Clerk Β· Ollama Cloud API Β· Cloudinary Β· Razorpay

Installation

# Clone repository
git clone https://github.com/techycsr/portlify.git && cd portlify

# Backend setup
cd backend && npm install
cp .env.example .env  # Configure environment variables
npm run dev

# Frontend setup (new terminal)
cd frontend && npm install
cp .env.example .env  # Configure environment variables
npm run dev

Environment Variables

Backend (.env)
PORT=5000
MONGODB_URI=your_mongodb_uri
CLERK_SECRET_KEY=your_clerk_secret
CLERK_PUBLISHABLE_KEY=your_clerk_publishable
OLLAMA_API_KEY=your_ollama_api_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_key
CLOUDINARY_API_SECRET=your_cloudinary_secret
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
FRONTEND_URL=http://localhost:5173
Frontend (.env)
# Do NOT include /api suffix
VITE_API_URL=http://localhost:5000
VITE_APP_URL=http://localhost:5173
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable

Access: http://localhost:5173


πŸ“‘ API Reference

Endpoints Overview

Category Endpoints Description
Auth /api/auth/* User authentication, registration, username management
Profile /api/profile/* CRUD operations, resume parsing, visibility control
Analytics /api/analytics/* View tracking, visitor insights, engagement metrics
Payment /api/payment/* Premium subscriptions, Razorpay integration
Export /api/export/* Download portfolio as static site ZIP
View Detailed Endpoints

Authentication

GET    /api/auth/me
POST   /api/auth/register
PUT    /api/auth/username
GET    /api/auth/check-username?username=

Profile Management

GET    /api/profile/me
GET    /api/profile/:username
PUT    /api/profile
POST   /api/profile/parse
PUT    /api/profile/visibility
POST   /api/profile/reset

Analytics

GET    /api/analytics
POST   /api/analytics/track

Payments

GET    /api/payment/status
POST   /api/payment/create-order
POST   /api/payment/verify
GET    /api/payment/branding
PUT    /api/payment/branding

Export

GET    /api/export/portfolio

πŸ“ Project Structure

portlify/
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ context/       # React contexts
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom hooks
β”‚   β”‚   └── utils/         # Helper functions
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/        # API endpoints
β”‚   β”‚   β”œβ”€β”€ models/        # Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ middleware/    # Express middleware
β”‚   β”‚   └── utils/         # Utilities
β”‚   └── package.json
β”‚
β”œβ”€β”€ README.md
└── LICENSE

🎯 Skills Categorization

AI automatically organizes skills into 6 categories:

Category Examples
Languages JavaScript, Python, Java, C++, TypeScript, Go, Rust
Frameworks React, Node.js, Django, Spring Boot, Express, Next.js
Databases MongoDB, PostgreSQL, MySQL, Redis, Firebase, Cassandra
Tools Git, Docker, AWS, Kubernetes, Jenkins, GitHub Actions
Concepts DSA, System Design, OOP, Microservices, CI/CD
Soft Skills Leadership, Communication, Problem Solving, Teamwork

🀝 Contributing

Contributions are welcome! Follow these steps:

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License. See LICENSE for details.


Made by @TechyCSR

About

Portlify : transforms your resume into a live Portfolio in just 10 seconds . Upload your resume, get a shareable portfolio URL instantly. No coding required.

Topics

Resources

License

Stars

Watchers

Forks

Contributors