I recently built my personal portfolio from the ground up, focusing on performance, interactivity, and visual identity.
The result is a lightweight WebGL-driven experience powered by Next.js, Three.js, and GLSL shaders.
👉 Live site: https://dododev.dev
Preview
Tech Stack
Here’s what the project is built with:
Next.js – for routing, server-side rendering, and overall structure
Three.js – for all 3D rendering and scene management
GLSL shaders – powering the background and the galaxy
Cloudflare Turnstile – bot protection on the contact form
Rate limiting – to secure the contact API endpoint
Vercel – for deployment
Highlights of the build
Fast, fully static Next.js pages
Most of the site is statically optimized while still supporting interactive WebGL elements.
Secured contact form
I integrated Cloudflare Turnstile with a small serverless API route and added rate limiting to avoid spam.
This makes the form safe to keep public.
Responsive + GPU friendly
Special care was taken so shaders adapt cleanly to mobile, device pixel ratio changes, and GPU constraints.
Why I built it?
I wanted a portfolio that reflects my experience as a frontend/full-stack developer with my own interest, stargazing. So, I finally decided how I want my portfolio to look like!
That's it!
Feedback is 100% welcome — whether it’s about design, performance, shaders, or UX.
Thanks for reading! 👋

Top comments (0)