grant
banner
grantcuster.com
grant
@grantcuster.com
Slowly going out on a limb. Making experimental creative tools on the web at http://constraint.systems. He/him. grantcuster.com
Working on connecting webamp.org to my spotify account while cycling through winamp skins - web displayed on a raspberry pi.
January 13, 2026 at 2:19 AM
January 9, 2026 at 9:32 PM
I recorded a video on my current Neovim-as-window-manager setup. At youtube.com/watch?v=pCbw...
January 6, 2026 at 5:15 PM
Testing out printing little foldable music boxes with the barcodes. Fun to try and decide on dimensions - I really want a spine.

I want to do something more interesting than the cover in a black-and-white. Maybe run a line art filter and then color them in?

feed.grantcuster.com/post/2026-01...
January 4, 2026 at 11:50 PM
Bounce
December 14, 2025 at 7:02 PM
Tried implementing a naive 'fingerprinting' on the table. Just measuring the distance between the points (with some threshold built in) and classifying based off that - I think this opens up possibilities for things like dials.
December 14, 2025 at 2:34 PM
Wrote up some experiments from work including this silly canvas feed.grantcuster.com/post/2025-12...
December 11, 2025 at 6:57 PM
December 3, 2025 at 3:21 PM
More paint tests with the projector and touch frame
December 3, 2025 at 3:21 PM
Alternative input
December 2, 2025 at 1:00 AM
Painting with an IR touch frame, projector, and image-paint.constraint.systems
December 1, 2025 at 6:29 PM
🌱 Making: More IR frame experiments
I got the projector sized to the IR touch frame. I made a desk inset for it and a wood overlay to sit on top.
feed.grantcuster.com/post/2025-11...
November 30, 2025 at 7:15 PM
I ordered this IR touch screen frame not knowing what to expect and am so far pleasantly surprised. I need to map the projector to it but touch detection seems pretty good.
November 25, 2025 at 10:07 PM
Infinite loading - need to do some offloading to smooth it out i think
November 24, 2025 at 3:03 PM
3D blog
November 23, 2025 at 10:13 PM
Codecity
November 21, 2025 at 2:10 AM
November 19, 2025 at 5:45 PM
Blogworld
November 19, 2025 at 5:36 PM
New from me on constraint.systems:

Cosine lets you embed and hash any text and view its nearest neighbors.
cosine.constraint.systems

I wanted to explore what it would be like to use the similarity capability of embeddings as the central organizing feature of a site.
November 17, 2025 at 7:54 PM
🌱 Making:
Exploring an "everything is embedded" mini/fake social network.
https://feed.grantcuster.com/post/2025-11-11-08-53-36
November 11, 2025 at 1:55 PM
🌱 Making: Cosine WIP
Working on a stripped down "embed anything and see its neighbors" prototype.
https://feed.grantcuster.com/post/2025-11-06-20-16-26-cosine-wip
November 7, 2025 at 1:23 AM
I've been listening to a lot of playlists lately and wanting a way to learn more about the currently playing artist without pulling out my phone. I put together a little raspberry pi setup to sit on our shelves and display info about the current playing artist.
November 6, 2025 at 4:30 PM
I made a (Spotify) web player for the excellent Herb Sundays (herbsundays.substack.com) playlist series.

It's focused on surfacing a random playlist from the series. I've been using it to put something on in the morning. It's nice to have hand-curated playlists with some intention to them.
October 30, 2025 at 8:33 PM
October 30, 2025 at 5:52 PM
Stitched together some Neovim autocmds with Niri window commands so that the app window is bound to the special "app" buffer position and size. One step closer to NeovimOS.
October 19, 2025 at 12:02 AM