A stunning portfolio website built with Python Flask to showcase Resume, Videos, and Graphics work. All content is hosted on Google Drive for easy management.
- Dark Cyberpunk Design - Immersive black background with vibrant neon accents
- Hero Section - Animated introduction with tagline
- Three Portfolio Sections - Resume, Videos, and Graphics with Google Drive integration
- Contact Section - Email, location, and social links
- Fully Responsive - Works beautifully on desktop, tablet, and mobile
- Zero File Management - All content hosted on Google Drive
# Install dependencies
pip install -r requirements.txt
# Run the server
python app.pyThen open http://localhost:8080 in your browser.
portfolio_project/
├── app.py # Flask application (edit your portfolio data here)
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore file
├── README.md # This file
├── templates/
│ └── index.html # Jinja2 template
└── static/
└── css/
└── styles.css # Styling
-
Create three folders in Google Drive:
- One folder for Resume (PDF or document)
- One folder for Videos (all your video files)
- One folder for Graphics (all your graphics/images)
-
Share the folders (make them viewable):
- Right-click on each folder → Share
- Change access to "Anyone with the link" → Viewer
- Click Copy link
Edit the drive_links section in app.py:
"drive_links": {
"resume": "https://drive.google.com/drive/folders/YOUR_RESUME_FOLDER_ID",
"videos": "https://drive.google.com/drive/folders/YOUR_VIDEOS_FOLDER_ID",
"graphics": "https://drive.google.com/drive/folders/YOUR_GRAPHICS_FOLDER_ID"
}Replace the placeholder URLs with your actual Google Drive folder links.
python app.pyNow when visitors click on Resume, Videos, or Graphics sections, they'll open your Google Drive folders in a new tab!
Edit these fields in app.py:
PORTFOLIO_DATA = {
"name": "Shreya Kumari", # Your name
"tagline": "Creative Designer & Video Editor", # Your tagline
"email": "hello@shreyakumari.com", # Your email
"location": "Noida, India & Remote", # Your location
"social_links": {
"linkedin": "https://linkedin.com/in/yourprofile" # Your LinkedIn
}
}Edit CSS variables in static/css/styles.css:
:root {
--accent-primary: #ff3366; /* Main accent (pink/red) */
--accent-secondary: #00ffcc; /* Secondary accent (cyan) */
--accent-tertiary: #7c3aed; /* Tertiary accent (purple) */
}Edit the logo in templates/index.html:
<span class="logo-text">SHREYA KUMARI</span>The portfolio consists of:
- Hero Section - Animated introduction with your name and tagline
- Resume Section - Clickable card that opens your resume folder on Google Drive
- Videos Section - Clickable card that opens your video portfolio folder
- Graphics Section - Clickable card that opens your graphics gallery folder
- Contact Section - Your email, location, and social media links
The navigation bar includes:
- Home - Scrolls to hero section
- Resume - Scrolls to resume section
- Videos - Scrolls to videos section
- Graphics - Scrolls to graphics section
- Contact - Scrolls to contact section
- Python 3.8+
- Flask 3.0.0
- Gunicorn 21.2.0 (for production deployment)
- Push your code to GitHub
- Go to render.com and sign up
- Click "New +" → "Web Service"
- Connect your GitHub repository
- Configure:
- Build Command:
pip install -r requirements.txt - Start Command:
gunicorn app:app
- Build Command:
- Deploy!
Your site will be live at: https://your-app-name.onrender.com
- Go to pythonanywhere.com → Sign up
- Go to Web tab → Add a new web app
- Choose Flask and Python 3.10
- Upload your files or clone from GitHub
- Your site will be:
https://yourusername.pythonanywhere.com
- The portfolio uses Google Drive links, so you don't need to host files locally
- All sections are clickable and open in new tabs
- The design is fully responsive and works on all devices
- Port 8080 is used by default (to avoid macOS AirPlay conflicts on port 5000)
Made with ❤️ by Shreya Kumari using Python Flask