Blog · SHIP’S LOG

What I learn building things.

Long, technical posts on how each piece of this site was made —shaders, Three.js, Next.js, performance— with the real code and numbers, not summaries.

Latest post

All posts

6 posts
  • Freelance work6 min read

    How to hire a freelance web developer in the Dominican Republic

    What to look for in a portfolio, what a proposal has to say, why you should ask for progress you can open on your phone, and what to ask about the domain, the code and what comes after. What I'd ask for if I were the client.

  • WebGL & Three.js12 min read

    How I drew a 4D tesseract in Three.js

    A four-dimensional cube that rotates in planes our space doesn't have, drawn with a single stroke of light. The 16 vertices, the rotation through W, the perspective, and what it took to stop it looking like a cage.

  • Performance & SEO10 min read

    A 3D portfolio Google can read and a phone can run

    A site with a black hole ray-traced in real time is usually invisible to search engines and heavy on a phone. The rules, effect levels and measurements that keep this one from being either.

  • Next.js12 min read

    A bilingual Next.js site without middleware

    How this site works in English and Spanish on the Next.js 16 App Router: translated routes, a single source for every URL, hreflang, sitemap, a language switcher and not one line of middleware.

  • WebGL & Three.js7 min read

    How I built a black hole in WebGL

    Gargantua, the centre of this portfolio, isn't drawn: a shader follows the light ray by ray around the black hole. The physics, the disk, the Doppler effect and what it took to run on any device.