What inspired us? The idea behind Porto was born from a personal need—to go beyond a static resume and craft a next-generation portfolio that’s as interactive and animated as the projects it displays. I wanted to build something that not only lists skills but demonstrates them live through fluid animations, real-world use cases, and immersive 3D visuals.
Portfolios should make you say "Whoa, this is different." That's what Porto aims to do.
What we learned During the process of building Porto, I dove deep into:
Three.js + WebGL integration with React
Crafting responsive layouts using Tailwind CSS
Building reusable UI elements using shadcn/ui
Mastering GSAP animations and scroll triggers
Handling performance optimizations for 3D assets
Managing modular, scalable codebases with Vite + TypeScript
How we built it The tech stack includes:
markdown Copy code
- Vite
- TypeScript
- React
- Tailwind CSS
- shadcn-ui
- Three.js
- WebGL
- GSAP
Each component is responsive, performant, and easy to manage. The structure follows clean component-based architecture, and animations are handled using GSAP timelines for smooth transitions.
Challenges we faced Blending 3D rendering (Three.js) with the React component lifecycle was tough at first
Getting smooth scroll-based animations using GSAP required deep customization
Maintaining a responsive design while showcasing heavy visuals
Optimizing load times for 3D elements without compromising visual quality
Balancing aesthetics with accessibility and usability
Live Demo Explore the live portfolio here: 👉 https://www.yogeshsingh.xyz/
Technologies Used markdown Copy code
- Vite
- TypeScript
- React
- Tailwind CSS
- shadcn-ui
- Three.js
- WebGL
- GSAP
What's next? Adding dark mode and better accessibility features
Introducing AI-based assistants to guide visitors through projects
Migrating to a CMS for dynamic content management
Publishing some UI components as open-source tools
Embedding video walkthroughs for major projects
Built With
- css
- gsap
- javascript
- react
- shadcn/ui
- tailwind
- three.js
- typescript
- vercel
- vite
- webgl


Log in or sign up for Devpost to join the conversation.