A modern, responsive personal portfolio website showcasing projects, work experience, photography, and more. Built with vanilla HTML, CSS, and JavaScript, featuring PWA support and integrated APIs.
👾 Live Site: www.roccogold.com
- Responsive Design - Fully responsive layout optimized for all devices
- Progressive Web App (PWA) - Installable with offline support via service worker
- Project Showcase - Interactive display of professional projects and work experience
- Photography Gallery - Curated photo collection with location-based filtering
- Contact Form - Integrated contact form with API endpoint
- Dynamic Content - Interactive content and animations
- Dark/Light Theme - Theme toggle with persistent user preference
- Smooth Animations - Scroll-triggered animations and typewriter effects
- SEO Optimized - Comprehensive meta tags, structured data, and Open Graph support
- Performance Optimized - Fast loading times with optimized assets and lazy loading
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- APIs:
- Contact form handler
- PWA: Service Worker for offline functionality
- Hosting: GitHub Pages
- Deployment: Vercel (for API endpoints)
proj-portfolio/
├── api/ # API endpoints
│ └── contact.js # Contact form handler
├── assets/ # Static assets
│ ├── photos/ # Photography gallery images
│ ├── favicon files # PWA icons and favicons
│ └── logos/ # Company and brand logos
├── index.html # Main HTML file
├── manifest.json # PWA manifest
├── sw.js # Service worker
├── package.json # Project dependencies
├── CNAME # Custom domain configuration
└── 404.html # Custom 404 page
- Node.js (for local development with Vercel)
- A modern web browser
- Clone the repository:
git clone https://github.com/roccogold/my-website.git
cd my-website- Install dependencies (if using Vercel for local development):
npm install- For local development with API endpoints:
npm run dev- For static hosting, simply serve the
index.htmlfile using any static file server.
The website includes a serverless API endpoint (configured for Vercel):
/api/contact- POST endpoint for contact form submissions
- Hero/About - Introduction and main call-to-action
- Work - Professional experience at Moody's Analytics and Bitpanda
- Projects - Showcase of key projects and achievements
- Thesis - Academic research and thesis work
- Vibes - Spotify integration for current music
- Perspectives - Photography gallery with location filters
- Interests - Personal interests and skills
- Contact - Contact form and social links
- Edit
index.htmlto modify website content - Update
manifest.jsonfor PWA metadata - Modify
sw.jsfor service worker caching strategies
- Add new photos to
assets/photos/ - Update the photos array in
index.htmlwith new image metadata
All styles are embedded in index.html. Modify the <style> sections to customize the design.
- Installable - Users can install the site as a standalone app
- Offline Support - Service worker caches assets for offline access
- App Icons - Multiple icon sizes for different devices
- Theme Color - Custom theme color for browser UI
The site is configured for GitHub Pages deployment:
- Push to the
mainbranch - GitHub Pages will automatically deploy
- Custom domain configured via
CNAMEfile
For API endpoints, deploy to Vercel:
- Connect your GitHub repository to Vercel
- Deploy
This project is open source and available under the MIT License.
Rocco Goldschmidt
- Website: www.roccogold.com
- LinkedIn: roccogoldschmidt
- GitHub: @roccogold
- Font Awesome for icons
- Google Fonts for typography
⭐ If you find this project interesting, feel free to star the repository!