Built in the open
Every tutorial ships with a working repo. Clone it, break it, and read the commits that got it there.
Hands-on tutorials, open-source projects, and experiments — deep dives into Three.js, Nuxt and TypeScript, written while building the real thing.
01 import * as THREE from 'three'
02
03 const geometry = new THREE.BufferGeometry()
04 geometry.setAttribute(
05 'position', new BufferAttribute(positions, 3)
06 )
07
08 const points = new THREE.Points(geometry, material)
09 scene.add(points)Compiling the shader
Step 2 of 3 — every line explained in the tutorial.
No copy-paste dumps. Each project is built end to end so you understand the decisions, not just the code.
Every tutorial ships with a working repo. Clone it, break it, and read the commits that got it there.
Nuxt 4, TypeScript, Three.js, Firebase and Mapbox — the same tools I use on production work, not toy demos.
Each guide walks the whole path — setup, the tricky middle, and deploying it somewhere people can actually visit.

Web developer, freelancer, former e-sports professional and digital creator from Gothenburg, Sweden.
I built this site as a place to document my coding journey and to share the projects that hopefully inspire you or teach you something new.
Deep dives, practical guides and hands-on projects — published as I build them.
17 minMove every pixel of a photo editor off the main thread: a typed Comlink RPC boundary, a canvas handed to a worker with transferControlToOffscreen, frame-coalesced rendering, and a full-resolution export that streams progress back — all SSR-safe inside Nuxt 4.
Read article
18 minBuild a Nuxt 4 app where an LLM cannot invent a coordinate: Zod tool schemas in the shared/ folder, Mapbox geocoding and directions running server-side, and a map that redraws itself from the streamed tool results.
Read article
16 minShip real passkey authentication on a plain Nuxt 4 server: nuxt-auth-utils for the WebAuthn ceremony, Nitro's built-in db0 SQL layer for users and credentials, sealed cookie sessions, and the rpID gotchas that only appear once you put nginx in front.
Read article
15 minBuild a Nuxt 4 backend where the database schema is the only source of truth: Drizzle for the tables, drizzle-zod to derive request validators from them, h3 validated handlers at every edge, and Nitro tasks for scheduled background work.
Read article
14 minBuild a self-hosted realtime app with no third-party backend: Nitro WebSockets for the transport, Nuxt 4 shared types for one contract on both sides, Pinia for derived client state, and useStorage as a swappable persistence seam.
Read article
11 minLearn how to use Mapbox with Nuxt 4. Add interactive Mapbox GL JS maps, markers, popups and GeoJSON layers in a Nuxt 4 + TypeScript app, step by step.
Read articleParticle galaxies, shaders, lava-lamp visuals and 3D globes — built from an empty canvas up.
SSR, content pipelines, PWAs and the small architectural calls that keep an app maintainable.
Type-safe data layers, Zod schemas and API contracts that hold up once the project grows.
Docker, Nginx, PM2 and Firebase — the last mile between localhost and a real URL.
Every guide is free, open source, and written to be followed start to finish.