DEV Community

Dorijan Bićanić
Dorijan Bićanić

Posted on

I Built a New Portfolio with Next.js and Three.js

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

home page

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)