Almost futuristic portfolio
Source: Dev.to
Overview
This submission is for the New Year, New You Portfolio Challenge presented by Google AI. I’m a developer passionate about creating immersive web experiences that blend cutting‑edge technology with beautiful design.
Live URL:
Core Technologies
- React – Component‑based UI architecture
- Vite – Lightning‑fast build tool with optimized chunking
- Three.js (
@react-three/fiber+@react-three/drei) – Immersive 3D graphics - i18next – Internationalization (PT/EN support)
- GSAP – Animations
Deployment
- Google Cloud Run – Containerized deployment with Docker
- Google Cloud Build – CI/CD pipeline
- Nginx – Production‑grade web server with optimized MIME types
Visual & Performance Highlights
- Cyberpunk Aesthetic – Neon colors, grid backgrounds, HUD elements
- GPU‑Accelerated Animations – All animations use
transformandopacity - Responsive Design – Mobile‑first approach with fluid typography
- Accessibility – Semantic HTML, ARIA labels, proper heading hierarchy
Initial Build
- Started with a basic React + Vite setup.
- Implemented a hero section featuring a Three.js 3D scene (Synthwave grid, neon sun).
- Added lazy‑loaded sections: About, Skills, Projects, Contact.
Tools & Optimization Process
While I didn’t directly use Google AI tools for code generation, I leveraged the following Google services:
- Google Cloud Run – Serverless deployment platform
- Google Cloud Build – Automated build and deployment
- Google Antigravity – Development platform, evolving the IDE into the agent‑first era
The iterative optimization process was data‑driven, using PageSpeed Insights to identify and eliminate performance bottlenecks.
Performance Metrics
| Metric | Value | Note |
|---|---|---|
| FCP (First Contentful Paint) | ~1.5 s | ~60 % faster than baseline |
| TBT (Total Blocking Time) | Minimal (reduced from 15,350 ms) | |
| Forced Reflows | Eliminated 29 ms | By removing Framer Motion |
| Bundle Size | 324 KB gzipped (critical JS) | |
| Three.js Optimizations | frameloop="demand", dpr={[1, 1.5]}, antialias: false, Intersection Observer pausing | |
| Memoized Components | HUDElement and DecorativeLine wrapped in React.memo() |
Quote
“Busquem conhecimento” — ET Bilu