Simple hosting for single-page portfolios β by Imhotep Tech
The easiest way to host your AI-generated portfolio β no technical skills required
Generate your portfolio with ChatGPT, Claude, or any AI assistant β Paste the code β Get your live link instantly!
π Quick Start β’ β¨ Features β’ π οΈ Tech Stack β’ π± Demo β’ π€ Contributing
π€ AI-Generated Code Support - Works with any AI assistant (ChatGPT, Claude, Gemini, etc.)
π Simple Paste & Deploy - Just paste your HTML/CSS/JS code and get a live link
π Instant Hosting - Your portfolio goes live at pharaohfolio.vercel.app/u/username
immediately
π» Built-in Code Editor - Monaco editor for quick tweaks and customizations
ποΈ Live Preview - See your portfolio in real-time as you edit
π Secure Authentication - Email/password and Google OAuth for account management
π± Mobile-Optimized - All hosted portfolios work perfectly on mobile devices
π‘οΈ Safe Code Execution - HTML/CSS/JS sanitization to prevent malicious code
π Simple Analytics - Basic visit tracking for your portfolio
β‘ Lightning Fast - Instant deployment with global CDN delivery
- Django REST Framework - Robust API for code storage and deployment
- PostgreSQL - Reliable storage for user accounts and portfolio code
- JWT Authentication - Secure token-based authentication
- Code Sanitization - Security layer to clean HTML/CSS/JS
- Docker - Containerized development and deployment
- React 19 - Modern component-based UI
- Vite - Lightning-fast development server
- Tailwind CSS - Beautiful, responsive design
- Monaco Editor - Professional code editing experience
- React Router - Smooth navigation between pages
- Docker Compose - Multi-container orchestration
- Nginx - Production web server (planned)
- CDN Integration - Fast global content delivery (planned)
Ask any AI assistant like ChatGPT:
"Create me a portfolio website for a web developer with HTML, CSS, and JavaScript. Include sections for about me, projects, and contact."
Copy the generated HTML, CSS, and JavaScript code and paste it into Pharaohfolio's editor.
Hit "Deploy" and get your instant live link: pharaohfolio.vercel.app/u/yourusername
Share your professional portfolio with clients, employers, or friends!
- π¨ Artists & Designers - Showcase your creative work without coding
- πΌ Freelancers - Professional portfolios that convert clients
- π Students - Academic projects and resume portfolios
- π Entrepreneurs - Quick business and startup showcases
- π Writers & Bloggers - Content portfolios and personal brands
- π©βπ» Anyone - Who wants a professional web presence without the hassle
Get the hosting platform running in less than 2 minutes! π
- π³ Docker & Docker Compose - Install Docker
- π¦ Git - Install Git
1. Clone & Navigate
git clone https://github.com/your-username/Pharaohfolio.git
cd Pharaohfolio
2. Set Up Environment Variables π Create environment files for both backend and frontend:
# Backend environment setup
cd backend/Pharaohfolio
cat > .env << 'EOF'
DEBUG=True
SECRET_KEY='+)#=j8tkch25z^on!=567&^6eyqyn9fgg3mbzypay+g^18vh)5'
# Google OAuth Configuration (Optional - for Google login)
GOOGLE_CLIENT_ID='your_google_client_id_here'
GOOGLE_CLIENT_SECRET='your_google_client_secret_here'
GOOGLE_REDIRECT_URI='http://localhost:8000/api/auth/google/callback/'
# Email Configuration (Optional - for notifications)
MAIL_PASSWORD='your_app_password_here'
# Database Configuration (Docker)
DATABASE_NAME='pharaohfolio_db'
DATABASE_USER='pharaohfolio_user'
DATABASE_PASSWORD='pharaohfolio_password'
DATABASE_HOST='db'
# Optional AI Integration (for future AI features)
GEMINI_API_KEY_1='your_gemini_api_key_here'
GEMINI_API_KEY_2='your_second_gemini_api_key_here'
EOF
# Frontend environment setup
cd ../../frontend/Pharaohfolio
cat > .env << 'EOF'
# Frontend Environment Variables
VITE_API_URL=http://localhost:8000
EOF
# Return to project root
cd ../..
3. Launch the Platform β¨
docker compose up --build
That's it! π Your portfolio hosting platform is ready!
β
Database Setup - PostgreSQL container (port 5432)
β
Backend API - Django REST API (http://localhost:8000)
β
Frontend App - React application (http://localhost:3000)
β
Code Editor - Monaco editor for HTML/CSS/JS
β
Admin Panel - Django admin with demo credentials
β
Auto-Migration - Database schema setup
β
Hot Reload - Live code changes during development
Service | URL | Description |
---|---|---|
π¨ Frontend | http://localhost:3000 | Main portfolio hosting interface |
β‘ Backend API | http://localhost:8000 | REST API endpoints |
π§ Django Admin | http://localhost:8000/admin/ | Admin panel (admin/admin123) |
ποΈ Database | localhost:5432 | PostgreSQL instance |
Prefer hands-on control? Follow these detailed steps!
- π Python 3.11+ - Download Python
- π¦ Node.js 20+ - Download Node.js
- ποΈ PostgreSQL 15+ - Install PostgreSQL
- π¦ Git - Install Git
git clone https://github.com/your-username/Pharaohfolio.git
cd Pharaohfolio
# π Start PostgreSQL service
sudo systemctl start postgresql # Linux
# or
brew services start postgresql # macOS
# ποΈ Create database and user
sudo -u postgres psql
CREATE DATABASE pharaohfolio_db;
CREATE USER pharaohfolio_user WITH PASSWORD 'pharaohfolio_password';
GRANT ALL PRIVILEGES ON DATABASE pharaohfolio_db TO pharaohfolio_user;
\q
# π Navigate to backend directory
cd backend/Pharaohfolio
# π Create virtual environment
python -m venv venv
# β‘ Activate virtual environment
source venv/bin/activate # Linux/macOS
# or
venv\Scripts\activate # Windows
# π¦ Install dependencies
pip install -r requirements.txt
# π Create environment variables (.env file)
# Copy the .env content from Step 2 above, but change DATABASE_HOST to 'localhost'
# ποΈ Run migrations
python manage.py makemigrations accounts
python manage.py makemigrations portfolio
python manage.py makemigrations
python manage.py migrate
# π€ Create superuser
python manage.py createsuperuser
# π Start development server
python manage.py runserver
# π Open new terminal and navigate to frontend directory
cd frontend/Pharaohfolio
# π¦ Install dependencies
npm install
# π Create environment variables (.env file)
echo "VITE_API_URL=http://localhost:8000" > .env
# π Start development server
npm run dev
Service | URL | Status |
---|---|---|
π¨ Frontend | http://localhost:3000 | β Ready |
β‘ Backend API | http://localhost:8000 | β Ready |
π§ Django Admin | http://localhost:8000/admin | β Ready |
π§ Development Mode Features:
- π Hot reloading for both frontend and backend
- π Volume mounting for live code changes
- π Debug mode enabled
- π¨ Live CSS updates with Tailwind
- β‘ Fast refresh in React
- π» Code editor testing with Monaco integration
π Stop the application:
docker compose down
π View logs:
docker compose logs -f
π Rebuild after dependency changes:
docker compose up --build
Issue: "address already in use" errors
π‘ Solution:
# Check what's using the ports
sudo lsof -i :3000 # Frontend port
sudo lsof -i :8000 # Backend port
sudo lsof -i :5432 # Database port
# Stop conflicting services
sudo systemctl stop postgresql # Linux
brew services stop postgresql # macOS
Problem | Solution |
---|---|
ποΈ Database connection failed | Verify PostgreSQL is running & credentials are correct |
π Python import errors | Ensure virtual environment is activated |
π¦ Node.js version issues | Update to Node.js 20+ |
π Permission denied | Check file permissions and user access |
Problem | Solution |
---|---|
π Container build fails | Run docker system prune -a and retry |
ποΈ Database connection timeout | Wait for health check to complete |
π± Frontend not loading | Check if port 3000 is available |
β‘ Hot reload not working | Restart container with docker compose restart |
π§ API calls failing | Verify frontend .env has VITE_API_URL=http://localhost:8000 |
We welcome contributions from developers who want to help make portfolio hosting accessible to everyone!
- π΄ Fork the repository
- π Create a feature branch (
git checkout -b feature/awesome-hosting-feature
) - π Commit your changes (
git commit -m 'Add awesome hosting feature'
) - π€ Push to the branch (
git push origin feature/awesome-hosting-feature
) - π Open a Pull Request
Open an issue with:
- π Clear description
- π Steps to reproduce
- π» System information
- πΈ Screenshots (if applicable)
We'd love to hear it! Open an issue with the enhancement
label.
- Code Security - Better HTML/CSS/JS sanitization
- Performance - Faster deployment and hosting
- UI/UX - Better code editor experience
- Templates - Pre-built portfolio templates
- Analytics - Enhanced visitor tracking
- Mobile - Mobile app development
The Problem: Most people can easily get beautiful portfolio code from AI assistants like ChatGPT, but they have no idea how to host it online.
Our Solution: Pharaohfolio bridges that gap. Simply paste your AI-generated code and get an instant, live portfolio link. No servers, no deployment headaches, no technical knowledge required.
Perfect for:
- π¨ Non-technical creators who want professional web presence
- β‘ Quick deployment of AI-generated portfolios
- π° Cost-effective hosting without monthly fees
- π§ Simple maintenance - just update your code anytime
- π± Mobile-ready portfolios that work everywhere
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Pharaohfolio helpful, please consider:
- β Starring this repository
- π΄ Forking to contribute
- π Reporting issues
- π‘ Suggesting new features
- π± Sharing with non-technical friends who need portfolios
Made with β€οΈ by Imhotep Tech
Democratizing web hosting, one portfolio at a time! πβ¨