Week 100: Anniversary and Threlte

21 Jan, 2023

This is not the 100th post, but it is 100 weeks since I started this blog. But other than that it’s been a pretty normal week, and actually slightly slower and less focused week than last week.

Since I enjoy them so much, weekly reminder that you can book me for 30 min to talk about anything. Need a hand with a project? are you a student looking for advice? or do you just want to catch up or geek out about something? Don’t be shy.

Also reminder, I’m available for hire on part-time/short-term projects. I’ll write more about what I’m looking for soon, but this blog, my post from a couple of weeks ago and my main site hopefully gives an indication of my experience and interests. If not, hey, that’s a great opportunity to use the link above and have a chat.


I have been developing for the web, either for work or just for fun, since I have had internet access - roughly 27 years now. Despite the chaos of diverging implementations of web standard across browsers, and chaos of programming languages and frameworks, I keep coming back because of the immediacy of the world wide web. After all these years, I still love that I can send a link to anyone, and they can experience and interact with something I made without needing to install anything.

I think there is a huge potential for interactive 3D experiences for the web. I have been playing with THREE.js for a few years now, and last week I focused on learning Svelte. Threlte is basically THREE.js for Svelte.

Threlte is still early in development, but already proving to be a great tool for developing better THREE.js experiences. Besides learning how to build with 3D in a state-driven, component-based way, Threlte provides easy access to some helpful tools I didn’t know, like Threatre.js.

Theatre.js provides an animation library with a great motion design toolset and UI. Here’s a quick sketch I did of LEGO Mario using Threlte and Theatre.js:

Screen recording of a quick jumping Mario animation made using Threlte/Theatre

Screen recording of a quick jumping Mario animation made using Threlte/Theatre

LEGO Mario model is from the LDraw unofficial parts library and the little tree patch is Trees by Poly by Google CC-BY via Poly Pizza.

Next week I’m considering doing some work blending Threlte with DALL-E, since I think it could be fun to render bitmap pixels as 3D cubes, but I’m not committed to it.


I think I forgot to mention I finished the Earthsea quartet by Ursula K Le Guin. I love Le Guin, and all the themes she treats in these books. Friendships, gender roles, and reflections on living life and a life lived. But the overarching theme of names and naming stood out to me. She explores the idea that people are given three names: a birth name by our parents, a name that reflects how others observe us, and then our true name. Our true name is precious and can only be given to us by someone who has the power of naming, and is only to be revealed to and used by people we trust. There is power in naming, names can be given, and taken away. It feels like a crime to even attempt to unfold this in a simple blog post, so please just go read it.

I’ve now started reading Design Fiction by the Near Future Laboratory.