A clean, responsive personal portfolio website built with vanilla HTML, CSS, and Bootstrap 5. Designed to showcase projects, skills, and a contact form — with a personality.
- Smooth scroll navigation with animated underline hover effects
- Hero section with a custom squircle-clipped avatar
- Project showcase with image-hover zoom and alternating card layout
- Skills carousel powered by Bootstrap 5
- Contact form integrated with Web3Forms (no backend needed)
- Animated footer with social links and pulse-glow effects
- Responsive design — fully adapted for mobile (
≤560px) and 4K (≥2160px) screens
| Layer | Technology |
|---|---|
| Markup | HTML5 |
| Styling | CSS3 (custom) + Bootstrap 5.3.8 |
| Icons | Font Awesome 7 |
| Fonts | Google Fonts (Cherry Swash, Raleway, Roboto, Syne) |
| Forms | Web3Forms API |
| Hosting | GitHub Pages |
portfolio/
├── index.html # Main HTML file
├── style.css # Custom styles
├── assets/
│ └── img/ # Images used in the project
│ ├── thinking.png
│ ├── html.png
│ ├── css.webp
│ ├── lazy-2048.png
│ ├── rp.png
│ ├── Node.js_logo.svg.png
│ └── React-icon.svg.png
├── README.md
└── LICENSE.txt
No build tools required. Just clone and open.
git clone https://github.com/FraDev85/portfolio_project.git
cd portfolio_project
# Open index.html in your browserOr simply visit the live version on GitHub Pages.
The contact form uses Web3Forms for serverless email delivery.
If you fork this project, replace the access key in index.html:
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE" />Get your free key at web3forms.com.
| Breakpoint | Behavior |
|---|---|
≤ 560px |
Stacked nav, single-column project cards, full-width inputs |
| Default | Two-column project layout, centered carousel |
≥ 2160px |
Wider margins, scaled typography, larger form fields |
- Lazy 2048 — Physics-based 2048 puzzle game (vanilla JS, ES6 modules)
- Pomodoro & Duck — Productivity timer with Rubber Duck Debugging and WebAudio API
This project is licensed under the MIT License.
I'm Francesco Comunale, a web developer based in Sicily. Passionate about JavaScript and its ecosystem, with a background in farming and a passion for history and economics.
Find me on: