From 09630a949ca2554ee811ef7ee9d02390839e68a9 Mon Sep 17 00:00:00 2001
From: Quinta <112334784+Quinta0@users.noreply.github.com>
Date: Thu, 26 Jun 2025 15:30:28 +0200
Subject: [PATCH] Update page.tsx
---
app/page.tsx | 854 ++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 640 insertions(+), 214 deletions(-)
diff --git a/app/page.tsx b/app/page.tsx
index e0b2b32..644b5a3 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,235 +1,661 @@
-"use client";
-import Link from "next/link"
-import { Button } from "@/components/ui/button"
-import {JSX, SVGProps, useState} from "react"
-import { Card, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
-import { Badge } from "@/components/ui/badge"
-import Image from "next/image"
-import {Github, Linkedin, MenuIcon} from "lucide-react";
-export default function Home() {
- const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
- const skills = [
- "IT Support", "Data Analysis", "Python", "R", "SQL", "Network Architecture",
- "Network Security", "Cloud Computing", "Data Visualization", "Machine Learning",
- "Statistical Analysis", "Database Management", "Linux", "Git", "Agile Methodologies",
- "Project Management", "Business Analysis", "Critical Thinking"
- ];
+import React, { useState, useEffect } from 'react';
+import { Github, Linkedin, Mail, ExternalLink, ChevronDown, Code, Database, BarChart3, Globe, Award, GraduationCap, Image, ExternalLink as LinkIcon } from 'lucide-react';
- const certifications = [
+const Portfolio = () => {
+ const [activeSection, setActiveSection] = useState('home');
+ const [scrolled, setScrolled] = useState(false);
+ const [showProjectGallery, setShowProjectGallery] = useState(false);
+
+ // Nord Color Palette
+ const nordColors = {
+ bg: '#2E3440',
+ bgLight: '#3B4252',
+ bgLighter: '#434C5E',
+ bgLightest: '#4C566A',
+ text: '#D8DEE9',
+ textMuted: 'rgba(216, 222, 233, 0.6)',
+ accent: '#88C0D0',
+ blue: '#81A1C1',
+ darkBlue: '#5E81AC',
+ cyan: '#8FBCBB',
+ green: '#A3BE8C',
+ yellow: '#EBCB8B',
+ orange: '#D08770',
+ red: '#BF616A',
+ purple: '#B48EAD'
+ };
+
+ useEffect(() => {
+ const handleScroll = () => {
+ setScrolled(window.scrollY > 50);
+ };
+ window.addEventListener('scroll', handleScroll);
+ return () => window.removeEventListener('scroll', handleScroll);
+ }, []);
+
+ const skills = {
+ 'Data & Analytics': ['Python', 'R', 'SQL', 'Statistical Analysis', 'Data Visualization', 'Business Intelligence'],
+ 'Web Development': ['JavaScript', 'TypeScript', 'React', 'Next.js', 'HTML5', 'CSS3', 'Tailwind CSS'],
+ 'Backend & Tools': ['Flask', 'Express', 'MongoDB', 'SQLite', 'Git', 'Linux'],
+ 'Other': ['Java', 'LaTeX', 'Project Planning', 'Financial Analysis']
+ };
+
+ const projects = [
{
- name: "Google IT Support Professional Certificate",
- issuer: "Google",
- image: "./certificates/Coursera_RZ1V4RU6JP2D.png"
+ title: 'Valgo - Algorithm Visualizer',
+ period: 'Jun 2024 - Present',
+ description: 'Interactive web application designed to help users understand and visualize various sorting algorithms. Built with Next.js and React to make learning algorithms more engaging and intuitive.',
+ tech: ['Next.js', 'React', 'JavaScript', 'Algorithm Visualization'],
+ icon: ,
+ status: 'Live',
+ images: [
+ 'https://via.placeholder.com/600x400/81A1C1/2E3440?text=Algorithm+Visualizer',
+ 'https://via.placeholder.com/600x400/88C0D0/2E3440?text=Sorting+Demo',
+ 'https://via.placeholder.com/600x400/5E81AC/2E3440?text=Interactive+UI'
+ ],
+ features: ['Real-time algorithm visualization', 'Multiple sorting algorithms', 'Step-by-step breakdown', 'Performance comparison'],
+ github: 'https://github.com/Quinta0/valgo',
+ demo: 'https://valgo-demo.vercel.app'
},
{
- name: "Google Data Analytics Professional Certificate",
- issuer: "Google",
- image: "./certificates/Coursera_EN181NFH7VYT.png"
+ title: 'Boston Housing Price Prediction',
+ period: 'May 2024 - Present',
+ description: 'Machine learning model to predict housing prices in the Boston area based on various features such as crime rate, average number of rooms per dwelling, and accessibility to radial highways.',
+ tech: ['Python', 'Machine Learning', 'Data Analysis', 'Statistical Modeling'],
+ icon: ,
+ status: 'In Progress',
+ images: [
+ 'https://via.placeholder.com/600x400/A3BE8C/2E3440?text=Data+Visualization',
+ 'https://via.placeholder.com/600x400/EBCB8B/2E3440?text=ML+Model',
+ 'https://via.placeholder.com/600x400/D08770/2E3440?text=Results+Analysis'
+ ],
+ features: ['Predictive modeling', 'Feature engineering', 'Data visualization', 'Statistical analysis'],
+ github: 'https://github.com/Quinta0/boston-housing'
},
{
- name: "IBM Python for Data Science, AI & Development",
- issuer: "IBM",
- image: "./certificates/Coursera_QT9WT5VCHJNU.png"
+ title: 'Forest Fire Simulation',
+ period: 'Mar 2024 - Present',
+ description: 'Probability & Statistics course project modeling the spread of forest fires over a grid. Accounts for vegetation types, terrain elevation, wind patterns, humidity levels, and spontaneous ignition.',
+ tech: ['Python', 'Statistical Modeling', 'Simulation', 'Data Science'],
+ icon: ,
+ status: 'Academic Project',
+ images: [
+ 'https://via.placeholder.com/600x400/BF616A/2E3440?text=Fire+Simulation',
+ 'https://via.placeholder.com/600x400/B48EAD/2E3440?text=Statistical+Model',
+ 'https://via.placeholder.com/600x400/8FBCBB/2E3440?text=Data+Analysis'
+ ],
+ features: ['Monte Carlo simulation', 'Environmental factors modeling', 'Statistical analysis', 'Visualization tools'],
+ github: 'https://github.com/Quinta0/forest-fire-sim'
}
];
- return (
-
-
-
-
-
Pietro Quintavalle
-
-
- {["About", "Skills", "Portfolio", "Certifications"].map((item) => (
-
- {item}
-
- ))}
-
- setMobileMenuOpen(!mobileMenuOpen)}
- aria-label={mobileMenuOpen ? "Close menu" : "Open menu"}
- >
-
-
-
- {/* Mobile menu */}
- {mobileMenuOpen && (
-
- {["About", "Skills", "Certifications", "Portfolio"].map((item) => (
-
setMobileMenuOpen(false)}
- >
- {item}
-
+ const education = [
+ {
+ institution: 'USI Università della Svizzera italiana',
+ degree: "Bachelor's degree Economics",
+ period: 'Sep 2024 - Jun 2027',
+ status: 'Current'
+ },
+ {
+ institution: 'USI Università della Svizzera italiana',
+ degree: 'Bachelor of Science - BS Informatics',
+ period: 'Jan 2022 - Jan 2024',
+ status: 'Completed'
+ },
+ {
+ institution: 'Scuola cantonale di commercio',
+ degree: 'Maturità Cantonale e AFC Economics',
+ period: 'Sep 2017 - Jun 2021',
+ status: 'GPA: 4.5/5'
+ }
+ ];
+
+ const certificates = [
+ 'Google Data Analytics Professional Certificate',
+ 'Google IT Support Professional Certificate',
+ 'IT Security: Defense against the digital dark arts',
+ 'Python for Data Science, AI & Development'
+ ];
+
+ const scrollToSection = (sectionId) => {
+ document.getElementById(sectionId)?.scrollIntoView({ behavior: 'smooth' });
+ setActiveSection(sectionId);
+ };
+
+ const ProjectGallery = ({ project, onClose }) => (
+
+
e.stopPropagation()}
+ >
+
+
+
+
+ {project.title}
+
+
+
+ {project.period}
+
+
+ {project.status}
+
+
+
+
+ ×
+
+
+
+ {/* Project Images */}
+
+ {project.images.map((image, idx) => (
+
+
+
+ ))}
+
+
+ {/* Description */}
+
+
+ About This Project
+
+
+ {project.description}
+
+
+
+ {/* Features */}
+
+
+ Key Features
+
+
+ {project.features.map((feature, idx) => (
+
))}
- )}
-
-
- About Me
-
-
- Hello! I'm Pietro Quintavalle, a dedicated IT hobbyist with a strong foundation in IT support and
- data analytics who's currently pursuing a bachelor in Economics.
- My passion lies in leveraging technology to solve complex problems and derive meaningful insights from
- data.
- With a combination of technical skills and analytical thinking, I'm equipped to tackle challenges
- in both IT infrastructure and data-driven decision-making.
+
+
+ {/* Tech Stack */}
+
+
+ Technology Stack
+
+
+ {project.tech.map((tech) => (
+
+ {tech}
+
+ ))}
+
+
+
+ {/* Links */}
+
+
+
+
+ );
+
+ return (
+
+ {/* Navigation */}
+
+
+
+
+ Pietro Quintavalle
+
+
+ {['Home', 'About', 'Projects', 'Education', 'Contact'].map((item) => (
+ scrollToSection(item.toLowerCase())}
+ className="transition-colors hover:opacity-80"
+ style={{
+ color: activeSection === item.toLowerCase() ? nordColors.accent : nordColors.text
+ }}
+ >
+ {item}
+
+ ))}
+
+
+
+
+
+ {/* Hero Section */}
+
+
+
+
+ Pietro
+ Quintavalle
+
+
+ Economics Student • Data Analytics • Web Development
+
+
+ Passionate about the intersection of economics and technology, exploring how data and code can solve real-world problems.
+
+
+
+
+
+
+
+
+
+
+
+ {/* About Section */}
+
+
+
+ About Me
+
+
+
+
+
+ I'm an Economics student at USI with extensive experience in data analytics and web development.
+ My journey combines analytical thinking with technical skills to create meaningful solutions.
+
+ Google-certified in Data Analytics and IT Support, I bring proven expertise in Python, R, SQL,
+ and modern web technologies like Next.js and React.
+
+
+
+ Italian (Native)
+
+
+ English (C2)
+
+
+ Switzerland 🇨🇭
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ {Object.entries(skills).map(([category, skillList]) => (
+
+
+ {category}
+
+
+ {skillList.map((skill) => (
+
+ {skill}
+
+ ))}
+
+
+ ))}
-
-
- Skills
-
-
- {[...skills, ...skills].map((skill, index) => (
-
- {skill}
-
+
+
+
+
+ {/* Projects Section */}
+
+
+
+ Featured Projects
+
+
+
+ {projects.map((project, index) => (
+
setShowProjectGallery(project)}
+ >
+
+
+ {project.icon}
+
+
+
+ {project.title}
+
+
+ {project.period}
+
+
+
+
+
+ {project.description}
+
+
+
+ {project.tech.map((tech) => (
+
+ {tech}
+
+ ))}
+
+
+
+
+
+ View Gallery
+
+
+ {project.status}
+
+
+
+ ))}
+
+
+
+
+ {/* Education & Certificates Section */}
+
+
+
+ Education & Certifications
+
+
+
+ {/* Education */}
+
+
+
+ Education
+
+
+
+ {education.map((edu, index) => (
+
+
+ {edu.degree}
+
+
+ {edu.institution}
+
+
+
+ {edu.period}
+
+
+ {edu.status}
+
+
+
))}
-
-
- Portfolio
-
- {[
- {
- title: "password-generator",
- description: "A unique and interactive password generator built with Next.js and React. ",
- technologies: ["Nextjs", "Encryption", "Typescript"],
- githubLink: "https://github.com/Quinta0/password-generator"
- },
- {
- title: "Valgo",
- description: "A website for visualizing sorting algorithms for the visual learners out there.",
- technologies: ["Typescript", "React", "Algorithms"],
- githubLink: "https://github.com/Quinta0/valgo"
- },
- {
- title: "Gravity",
- description: "3D Gravity Simulator is a C++ program that visualizes the gravitational interactions between celestial bodies",
- technologies: ["C++", "OpenGL", "Physics", "3D", "Simulation", "Cmake", "VCPKG"],
- githubLink: "https://github.com/Quinta0/gravity"
- },
- {
- title: "Boston Housing Price Prediction",
- description: "A simulation of the Boston Housing Price Prediction project that involves building a machine learning model to predict housing prices. ",
- technologies: ["Python", "Machine Learning", "Data Analysis", "Data Visualization", "Jupyter Notebook", "Probability", "Statistics"],
- githubLink: "https://github.com/Quinta0/BostonHousing"
- },
- {
- title: "Forest Fire Simulation",
- description: "An assignment for the Probability & Statistics course at USI that aims to model the spread of forest fires over a grid representing a forest landscape.",
- technologies: ["Statistics", "Python", "Jupyter Notebook", "Simulation", "Probability"],
- githubLink: "https://github.com/Quinta0/ForestFire"
- },
- {
- title: "AequitasIQ",
- description: "An intelligent financial analysis tool that creates an interactive dashboard to visualize personal income and expenses.",
- technologies: ["Python", "Pandas", "LLM", "Ollama", "Plotly", "NumPy", "LangChain"],
- githubLink: "https://github.com/Quinta0/AequitasIQ-.git"
- }
- ].map((project, index) => (
-
-
{project.title}
-
{project.description}
-
- {project.technologies.map((tech, techIndex) => (
-
- {tech}
-
- ))}
-
-
-
- View on GitHub
-
-
+
+ {/* Certificates */}
+
+
+
+ Certifications
+
+
+
+ {certificates.map((cert, index) => (
+
- ))}
+ ))}
+
+
+
+
+ Interests
+
+
+ {['Computer Hardware', 'Web Development', 'Finance', 'Economics', 'Literature'].map((interest) => (
+
+ {interest}
+
+ ))}
+
+
-
-
- Certifications
-
- {certifications.map((cert, index) => (
-
-
-
- {cert.name}
- {cert.issuer}
-
-
- ))}
-
-
-
-
-
-
- )
-}
+ {/* Contact Section */}
+
-function TerminalIcon(props: JSX.IntrinsicAttributes & SVGProps
) {
- return (
-
-
-
-
- )
-}
\ No newline at end of file
+ {/* Footer */}
+
+
+ {/* Project Gallery Modal */}
+ {showProjectGallery && (
+ setShowProjectGallery(false)}
+ />
+ )}
+
+ );
+};
+
+export default Portfolio;