A modern, interactive, and premium portfolio website for Eduardo Amaral, showcasing expertise in Product Design, Frontend Development, and AI integrations.
Live at: eduardoamaral.me
- 🌐 Internationalization (i18n): Fully translated into Portuguese (
pt-BR) and English (en) with context preservation. - 📄 Standalone CV (Print-Ready): Standalone curriculum vitae pages at
/cv/ptand/cv/enbuilt with Standalone early routing. Optimized for print and PDF saving (no site headers/footers in print mode, custom Geist typography). - ✉️ Contact Form & Toast Notification: Contact form powered by FormSubmit that redirects back and displays a smooth, animated success toast notification using Framer Motion.
- 🎨 Premium Visuals: Dark mode and light mode options with smooth glassmorphism effects, radial background gradients, and micro-interactions.
- 🚀 Performance & Motion: Smooth scrolling powered by Lenis and premium animations powered by Framer Motion (
motion/react), with support forprefers-reduced-motionaccessibility standards.
- Framework: React + Vite + TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion / Motion
- Smooth Scroll: Lenis Scroll
- CMS (Seeding): Sanity.io (configured for portfolio content storage)
- Deployment: Vercel (Speed Insights integrated)
├── public/
│ └── favicon.png # New custom site favicon (avatar portrait)
├── src/
│ ├── assets/ # Brand logos (Clinia, Talqui, Petrobras), images, and graphics
│ ├── lib/ # Client state, sanity queries, and helper hooks
│ ├── App.tsx # Main router, pages (Home, About, Cases, standalone CV, Contact), and state
│ ├── main.tsx # App entry point
│ └── styles.css # Core custom styles, print overrides, and custom CSS variables
├── index.html # HTML shell linking font configurations and assets
├── package.json # Node project configuration and dependencies
└── vite.config.ts # Vite bundler configuration
Make sure you have Node.js installed (v18+ recommended).
-
Clone the repository:
git clone https://github.com/uxdudu/portfolio.git cd portfolio -
Install the dependencies:
npm install
Start the local development server:
npm run devOpen http://localhost:5173 in your browser to view the application.
Build the optimized production bundle:
npm run buildThe output files will be generated in the dist directory, ready to be served or hosted.