Stoic Memo

View Live
Exploratory personal project designed and developed to gauge the usefulness of Typescript alongside React Three Fiber
Video showcase of the Stoic Memo website (no audio)

Stoic Memo started as a simple question: how does TypeScript feel on a React Three Fiber project? It's a small microsite, one stoic quote a day on the left, with a favourite and share option, and on the right a 3D bust of Marcus Aurelius that tracks the mouse as it moves. Gimmicky on paper, but it gave me a contained project to test TypeScript against, and an excuse to build something purely because I wanted to.

Favourites save locally in the browser, so returning visitors keep their saved quotes without needing an account.

Small details, disproportionate effort

The favourites and info panels slide out on a slight angle rather than a flat left-to-right transition. Small detail, but it makes a simple layout feel deliberately designed rather than default. The bust model is a third-party asset, credited on the site, which I optimised and cleaned up for real-time use. The whole site scales gracefully down to mobile too, 3D scene included. Nothing breaks or gets stripped back on smaller screens.

The bust is a third-party model I cleaned up and optimised in Blender, then lit and staged carefully enough that it holds attention on its own.

On the TypeScript question: I liked it less than expected. Wrangling types across custom Three.js and Drei components added friction. On a project moving this little data around, it didn't pay for itself but I'm still firmly in favour of TypeScript on larger projects with genuine data complexity. This was small enough to find where that line sits.