Every tool on my site started with the same mental test: could I explain, in one sentence, why someone would want it?
Color picker: you hold up your phone to a paint swatch and get an actual name back, not just a hex code. Font matcher: you photograph handwriting and it finds the closest digital typeface. QR generator: everyone needs one. Star map: you punch in a date and get the night sky from wherever you were standing. All of them passed the test before I started building.
Then I built a palm reader.
I can’t give you the one-sentence defense. You open your palm to the camera, the tool detects 21 landmarks on your hand using MediaPipe’s model, and generates a reading from the geometry. Heart line, head line, life line. It tells you things about yourself in the language of fortune telling, drawn from actual coordinates of your actual hand. Nothing is sent to a server. The model runs entirely in your browser.
Here’s what I kept running into while building it: technically, it’s the same work as the color picker. The color picker runs a k-nearest-neighbor search against a 148-color dataset. The palm reader runs a MediaPipe float16 model and does geometric analysis on the resulting landmarks. Neither one is going to save someone’s life. Both take a camera input, run some inference, and give you back a label for something you’re looking at. The difference between them is what you call the output.
“Cornflower Blue” and “your heart line is long and unbroken, suggesting emotional resilience” are both labels derived from image analysis. One sounds like a real answer. One sounds like something you’d find at a fair in 1993. I used to think that distinction mattered. It doesn’t.
Don’t get me wrong, I’m not arguing palm reading is science. But the work of building the reader was real work. Seven-frame burst sampling to stabilize the landmark detection. GPU-first model loading with CPU fallback for older devices. A compare mode so you can read both hands and see what shifts between them. Same privacy approach as every other tool: nothing leaves your device, telemetry is visit counts only.
I built it because I wanted to. I saw the MediaPipe hand landmark model and thought it would be interesting to use it for something unexpected. Not something professionally defensible. Something that felt like a puzzle.
What I’ve noticed since shipping it: the “can you justify this first” rule selects for the boring problems. The tools that came with obvious use cases were the ones I already knew how to build. The palm reader was the one that surprised me mid-build, that sent me down a side road about landmark geometry and what you can actually infer from palm curvature. That’s what the justification test screens out: the problems where you don’t know what you’re going to find until you’re already in them.
Build the unjustifiable thing first. Figure out why you built it after.