Limited-time offerLifetime $349 $199left
← Back to 3D designs
landing pagethree.js

Toon Portfolio — 3D Personal Portfolio

Personal portfolio in one HTML file: a code-built cartoon head that watches the cursor in front of a giant headline.

A complete, scrollable personal portfolio with the 3D built into it: a code-built cartoon head that watches the cursor in front of a giant headline. It is one self-contained HTML file, built entirely in code, with no image files, no 3D models and no build step. Under the hood: Three.js, character head sculpted from primitives (no model file), eye tracking, blinking and two moods, transparent canvas layered between headline and content. What a visitor can do: move the cursor and the character watches it, click the character to change mood, 4 presets (Midnight, Sunny, Ocean, Blush). Best for: Freelancers, 3D artists and illustrators, developers, streamers and creators. Three.js loads from a CDN through an import map and the type (Archivo Black, Inter) from Google Fonts, so there is still nothing to install. The page is real HTML — a navigation bar, a full-height hero, content sections, a call to action and a footer — so the brand name, headlines and cards are edited as plain text. Colours, counts and speeds sit in a CONFIG block and a PRESETS array, colour themes restyle the page and the 3D together from a small swatch pill, ?embed hides the pill and ?tour scrolls the page by itself.

How to run this

Nothing to install and nothing to configure. Works in any modern browser on Windows, macOS and Linux.

Built with
Single HTML file
Requires
A modern browser
  1. 1. Unzip the download.
  2. 2. Double-click index.html. It opens in your browser and runs. To serve it instead (the microphone and some browsers want a server), run npx serve . in the folder and open http://localhost:3000.

Note — Three.js loads from the jsDelivr CDN through an import map, so the first load needs an internet connection. Its typefaces load from Google Fonts, with system fallbacks if they cannot. It is a full landing page: upload index.html to any static host and it is live. Add ?embed to hide the theme pill, ?preset=N to start on a colour theme, and ?tour to scroll the page automatically.