Feed
Sunday, September 14th, 2025 at 11:25 AM
Making

Projector experiments

I got a projector and webcam set up over the tabletop. Experimenting with hand-tracking.

Tracking pinches

Tracking and projecting pointer fingers

Read more
Tuesday, September 16th, 2025 at 6:34 PM
Making

Table color picker

Trying out a color picker to get a feel for tabletop UI. I can do it all with pointer fingers (rather than pinch) if I give myself a path to reach them without colliding with other things. Kind of like a maze.

Monday, December 1st, 2025 at 1:34 PM
Making

Touch painting

Painting with an IR touch frame, projector, and http://image-paint.constraint.systems

paintbrush

ball

Monday, September 15th, 2025 at 12:16 PM
Making

Book identifier

Trying out hand-tracking triggered buttons and some simple LLM calls. There are definite limits imposed by hand-tracking and projector display - but they're kind of interesting ones.

Sunday, September 14th, 2025 at 1:24 PM
Making

Projector buttons

Triggering buttons on overlap

Color change - was not working at first because of webcam reacting to light change, fixed by turning on the overhead light so it's more constant.

Sunday, November 30th, 2025 at 1:57 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.

The overlay makes the section non-interactive (it had to be an overlay bc the IR beams need to get from one-side to the other).

Read more
Tuesday, November 25th, 2025 at 5:02 PM
Making

IR Screen

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.

Thursday, September 25th, 2025 at 11:10 AM
Making

Book to music experiment

Book-to-soundtrack experiment - a projector setup where I send the book image off to Gemini for recommendations and then play with Spotify. Meant to be kind of like putting on a record but for objects. (I clipped out the loading times.)

Wednesday, December 3rd, 2025 at 10:16 AM
Making

Finger painting

More paint tests with the projector and touch frame.

Monday, September 29th, 2025 at 12:02 PM
Making

April tag color picker

An apriltag color-picker where x=red, y=green, rotation=blue. A freeform physical slider feels interesting

Also did a 3 card one - different tags all get IDs which makes me think of doing some sort of weird physical variable assignment thing.

Read more
Thursday, September 18th, 2025 at 2:50 PM
Making

Experimenting with april tags

Trying out april tags. Thinking about how it could complement hand tracking and vision models. This is using https://github.com/arenaxr/apriltag-js-standalone. and I know what april tags are because of https://folk.computer.

Tuesday, September 23rd, 2025 at 9:43 AM
Making

Projector mirror

Thinking about the possibilities of having adjusted mirrors as part of the projector system.

Testing out the mirror

Sunday, August 17th, 2025 at 8:20 PM
Tabletop

Button maker

First tabetop using the new webcam setup.

Friday, August 29th, 2025 at 4:03 PM
Tabletop

Projection

Sunday, September 14th, 2025 at 10:08 AM
Making

Book library experiments

Collecting some recordings of recent experiments. Taking photos of my books, using Gemini image edit generation to isolate those books and then removing their backgrounds, embedding generated summaries of those books and exploring them across various layouts.

Spines and covers

Read more
Sunday, March 23rd, 2025 at 2:44 PM
Making

Tabletop

Tabletop used with a tabletopTabletop used with a tabletop Crop and download images from your webcam.

https://tabletop.constraint.systems

Read more
Wednesday, June 18th, 2025 at 7:39 AM
Inspiration

Ken Isaacs Knowledge Box

Projections on all sides of a room. From https://www.youtube.com/watch?v=v9uVf65bNgo

Saturday, August 23rd, 2025 at 3:27 PM
Tabletop

Tabletop monitor

Thursday, September 18th, 2025 at 8:05 PM
Inspiration

SandScape

https://tangible.media.mit.edu/project/sandscape/

Tuesday, November 3rd, 2020 at 1:50 PM
Writing

WebGL, 3D projection and mental models

I'm working on recreating some graphics editing programs in WebGL. To be able to zoom in on images, I've implemented a pretty standard 3D camera with projection and view matrices. I've found really understanding projection to be difficult. It's one thing to get some cubes placed and rendering in the world, it's another thing to enable mouse interactions, where you have to project and unproject between screen space, view space and world space.

Figuring out the steps for transitioning between the spaces has been difficult, but a nice consequence is that I'm developing a mental model of what is happening on screen that I can reason about. The idea is that the screen reperesents a flat window onto 3D space that extends behind it. I'm starting to be able to intuitively reason about when I can keep something in screen space (the cursor), and when I want to project it into world space (creating a bounding box on an image). Mouse-directed zoom (as movement along a ray projected from the mouse), took me a while to get right, but now I feel like I have a better handle on what it is doing then when I've implemented it in a non-3D camera set-up.

When I have done image editors with zoom in the past, things have always gotten messy while dealing with translation and zoom. Now I feel like maybe that is because I was mixing 2D and 3D concepts. Placing images in 3D perspective space with a camera has required a lot of set-up, but I'm now starting to believe it will really pay off.

Read more