Personal portfolio website for Federico Ercole, a Senior Software Engineer based in Vienna, Austria. This modern, responsive portfolio showcases professional experience, technical skills, and projects with smooth animations and dark/light theme support.
- Responsive Design - Fully optimized for desktop, tablet, and mobile devices
- Dark/Light Theme - Seamless theme switching with
next-themes - Smooth Animations - Powered by Framer Motion for engaging user experience
- Modern UI - Built with TailwindCSS and Lucide React icons
- Performance Optimized - Static site generation for fast loading times
- SEO Friendly - Optimized metadata and structure
- Framework: Next.js 16.1 (App Router)
- Language: TypeScript
- Styling: TailwindCSS 4.x
- Animations: Framer Motion
- Icons: Lucide React
- Theme: next-themes
- Deployment: GitHub Pages
src/
├── app/
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Main page composition
│ └── globals.css # Global styles
└── components/
├── Header.tsx # Navigation header
├── Hero.tsx # Hero section with intro
├── About.tsx # About me section
├── Experience.tsx # Work experience timeline
├── Skills.tsx # Technical skills showcase
├── Portfolio.tsx # Projects portfolio
├── Contact.tsx # Contact information
├── Footer.tsx # Footer with links
├── ThemeProvider.tsx # Theme context provider
└── ThemeToggle.tsx # Dark/light mode toggle
- Node.js 22.x or higher
- npm, yarn, pnpm, or bun
# Clone the repository
git clone https://github.com/sercinci/ercoledev.git
cd ercoledev
# Install dependencies
npm install# Start the development server
npm run devOpen http://localhost:3000 to view the site in your browser.
# Create an optimized production build
npm run build
# The static site will be generated in the `out/` directoryThis site is deployed as a static site on GitHub Pages at www.ercole.dev.
The build process uses Next.js static export to generate a fully static site that can be served from GitHub Pages. The CNAME file ensures the custom domain is properly configured.
The site uses GitHub Actions for continuous deployment. When code is pushed to the master branch:
- The workflow automatically installs dependencies
- Builds the Next.js static site (
npm run build) - Deploys the
out/directory to GitHub Pages
No local builds required - just push your code and the workflow handles the rest.
The deployment workflow is defined in .github/workflows/deploy.yml and includes:
- Automatic triggering on push to
master - Node.js 22 environment setup
- Dependency caching for faster builds
- Artifact upload and deployment to GitHub Pages
You can also trigger the workflow manually from the GitHub Actions tab or build locally:
npm run build
# The static site will be generated in the `out/` directoryThis project is open source and available under the MIT License.
Federico Ercole
- Website: www.ercole.dev
- GitHub: @sercinci