Alex Marlow

Design Engineer

Helsinki, FI

00:00:00 EET

← Journal

Building MT-1, a cassette player for the browser

MT-1 started as a Blender sketch on a slow Sunday and ended as a music player you can spin around in the browser. Notes on modelling, file size and feel.

Building MT-1, a cassette player for the browser

I wanted a music player that felt like an object instead of an app: something with weight, buttons that click and a tape that actually turns. MT-1 began as a Blender sketch on a slow Sunday and became the side project I demo most when people ask what a design engineer does.

Model for the camera you'll actually use

The first version had every screw and a fully modelled tape mechanism inside the shell. Nobody would ever see it. In the browser, the camera sits about thirty centimetres away and the player rarely turns past forty-five degrees, so I rebuilt it for that view: a simple shell, bevelled edges that catch the light, and the detail painted into the textures instead of the geometry.

  • Under 9,000 triangles for the whole player
  • One 2K texture set, baked in Blender
  • A single light rig, with soft shadows baked in where they never move

Weight is mostly timing

An object feels heavy when it takes a moment to start and a moment to stop. Dragging rotates the player with a little inertia, and letting go eases it back towards the front over about a second. The buttons travel two millimetres when pressed and come back faster than they went down. Those few numbers did more for the feel than any material tweak.

Sound did the rest. Each button has its own short click, recorded from an old desk radio, and the tape makes a faint hiss for the first second of every track. I nearly cut both to save a few kilobytes. In testing, they were the first thing people noticed, and the thing that made them press play a second time.

Nobody asks how many polygons a thing has. They ask why it feels nice to press the play button.

Keeping it light

The finished scene, model and textures together, weighs about 1.8 MB with compression, and it loads behind a simple poster image so the page never shows an empty box. On mobile the player swaps to a lighter shadow setup and drops the reflections, and most people never notice.

The rest is small and slightly obsessive: the spools turn at the speed a real tape would, the counter ticks over as a track plays, and pressing space does exactly what the orange button does. None of it was in a brief, which is precisely why I enjoyed making it.

← All posts