The next Builder Day is this coming Saturday, August 29, noon to 3pm PT at Foundations in Seattle (and the first part will be streamed online from wherever you are). Free, presented by Every.io, and yes, the pizza and beverages are handled the way they always are. Pre-register here! Please be on time. ;)
A few weeks ago, a man I have never met in person programmed a microcontroller on his workbench using software I wrote for a chip I do not own, have never held, and could not pick out of a lineup.
There, do I have your attention?
Good, because there’s a lesson in there I’ve been chewing on all month, and I’m going to get to it sideways, through a touchscreen that’s been annoying me since March.
I whined for years before I measured anything.
My new Chromebook’s touchscreen feels janky. Finger scrolling hitches, trackpad on the same machine is fine, the stylus is off the charts amazing with the same screen - and that was the entire contents of my complaint. You know how far a complaint like that travels:
“Clear your cache.”
“Works fine on mine.”
“You bought a cheap laptop, my dude.”
And fair enough! Nobody can assign a feeling to an engineer. So I built Input Rate, and what came out the other side had almost nothing to do with touchscreens.
Take the complaint out of your mouth and put it in a table. Scrolling with my finger, the screen draws 95 frames out of 120. With the stylus, on the same glass, 118 out of 120. I used to be a guy saying that his notebook computer screen didn’t work as advertised, which is not a thing anybody can act on, including me. I needed to capture definitive data to share.
The proof you need is often already in your hand. You can’t always count on generic benchmarks to illustrate your problem. And if you can’t illustrate it, nobody’s going to believe you. When you can point at the data (and give people a chance to try themselves), they can’t deny it. That’s the power of being able to vibe code a solution into existence.
Build the thing, then go find out what they call it. Gamers measure this same number and call it “polling rate.” Nobody in that world says “report rate.” That word appeared nowhere in my app or its title, so half the people who’d want this had no road to it. One minute to fix, zero new features. Shipping something and naming it are two different jobs.
Your tests will lie to your face. Fake touch events sailed through every check while the actual laptop kept failing. Whatever you’ve automated is a story about the real thing, and sooner or later you have to go pick up the real thing. You have to use what you build - as the ultimate customer. But don’t be lulled into a false sense of security, either. If you’re measuring the wrong thing, your data won’t mean squat.
A tool that guesses wrong is worse than one that admits it doesn’t know. I wrote something clever to see how a variety of pointing devices on one system worked differently. The app reported, with total confidence, that I own two trackpads. I own one. Had to figure out a way around that shortcoming, but shipping an intentionally confusing product is the last thing I was going to do.
Nobody was coming to measure this for me. That’s the part that changed how I think. I’ve been complaining about consumer hardware my entire adult life and mostly waiting on somebody official to validate it (and fix it). The tools to check are sitting in a browser tab now, and I can build one in an afternoon. You can, too.
You may not care about screen response time as much as I do, but you can try it for yourself: Input Rate. Drag a finger, drag a stylus, plug in a mouse. It might just show you how one input device works better on the same machine - even if ever so subtly different.
Which brings me back to that guy and his workbench.
Circuit Simulator is an electronics workbench in a browser tab: wire up parts, write firmware, and the firmware compiles and runs right there in the page. Small catch:
I don’t own the chip.
I’ve never held the board.
I’ve never touched the programmer that flashes it.
I am, as ever, a guy who cannot write code.
What I do have is a beta tester who owns all of it, solders his own boards, and answers fast. (I’m not naming him yet. He hasn’t asked to be famous and it seems rude to draft a man into a newsletter without asking.) Every so often he sends the sentence that makes the entire project worth doing.
You don’t need the problem. You need somebody who has it and will tell you the truth fast. He sends a video at night, I ship a build in the morning, he tests it on real hardware and sends another video. That loop is the entire asset. Domain knowledge I picked up in the conversation, for free, from a man delighted that somebody was paying attention to his corner of the world at last. Yes, I’m showing him how he could do it himself, but the product manager in me is loving the process and outcome.
Every reasonable assumption I made was wrong about his bench. He couldn’t click on wires and I couldn’t reproduce it, because his browser window is a shape mine has never been. My simulator was too forgiving about timing in a way actual components are not. Not one of those was a dumb call. All of them were wrong about the one bench that mattered - his. Sometimes, you don’t have all the info you need to enact a solution to problems. People aren’t forthcoming (unintentionally) if you don’t ask the right questions or help them get the right data.
The gap between “works” and “works for them” is where the whole job lives. An empty device list doesn’t read as “no match found.” It reads as “this app is broken.” I’ve shipped that failure to strangers more times than I’d like to count and never heard about it, because strangers don’t file bug reports, they just close the tab. I love bug reports.
Being useful to one person beats being clever for nobody. He’s been keeping a chip from 2005 alive on a compiler almost nobody maintains, and until this year his options were a Windows program from another decade or nothing at all. He is not a niche. He’s a guy, and there are a lot of guys (and gals), in a lot of fields I have never once thought about, sitting on problems nobody’s bothered to look at in years if not decades.
That’s the opportunity, and it’s enormous, and almost nobody goes looking for it because it isn’t their itch.
Call it the borrowed itch. On August 18th, Circuit Simulator ended up programming a real chip from a browser tab, every step confirmed against real silicon, from code that had never touched hardware in its life.
I still don’t own the board. I’m probably not going to buy one, either. Probably.
When: Saturday, August 29, noon to 3pm PT
Where: Foundations, 1605 Boylston Ave in Seattle. Streaming the start everywhere else.
Presented by: Every.io
What happens: A fireside chat opens things up, then about two hours of building with whatever AI tools you like, then we show each other what we made. Bring an idea or take one of ours.
Cost: Free. Pizza and drinks included, whether you’re in the room or watching the stream.
Bring: A laptop. Show your registration at the door.
How: Pre-register now and please be on time.
Starting next month there’s a second thing: a casual show-and-tell and networking mixer on the third Monday of every month, over on the Eastside, for everyone who has been telling me that Capitol Hill on a Saturday is a haul.
When: Monday, September 21, 6pm to 9pm PT
Where: Formula Brewing, 1875 NW Poplar Way, Issaquah. Free parking around the venue.
Again, presented by: Every.io
What happens: You show what you’ve been building. You meet other people building things. Drink tokens are provided, which I mention because it’s the detail everybody asks about.
luma.com/ctrlaltcreatelive is the calendar. Follow it and you’ll never have to ask me when the next one is.
There’s going to be a show-and-tell edition of AI on Tap. Up to ten presenters, one station each. Everybody does a sixty-second intro, then the room opens and you wander between tables putting your hands on what people built, leaving written questions at each station. At the end the presenters come back up and answer what they got.
One of the builders showing up is Craig Campbell, who makes Pastmaps with his wife. Half a million historical maps, georeferenced and layered over the modern world, searchable the way Google Maps is searchable, with a slider that fades between what’s there now and what was there in 1925. Two people. Paying customers. A million users. If you want to see what a small team can actually carry, go talk to that guy.
When: Thursday, August 27, 7pm to 9pm
Where: Slip Gallery, 2301 1st Ave, Seattle
Beer and wine from the venue’s bar
How: Get a ticket here
If you’ve been sitting on something waiting for a reason to show strangers, that’s the reason.
All free, all in the browser. You don’t make an account and nothing you touch leaves your machine.
My favorite of the bunch - if you were to ask? Rock Collector!
Games and worlds
UFO Game. Pilot a saucer, tractor-beam cows, level a voxel city. Free Destroy All Humans alternative.
Castle Defense. A siege drawn in crayon. Fling stick soldiers, convert the survivors, hold the wall.
Spin Stack. A falling block puzzle where the whole chamber rotates a quarter turn after every piece.
Monster Rally. Endless generated 3D dirt tracks, and any circuit is shareable by code.
Space Coaster. Anti-gravity racing with gravity shears, portals and hull damage.
Jimothy Sighting, Jimothy Game and Raccoon Run. Three NES-flavored games starring Seattle’s viral short-spined raccoon, because one was not enough.
Wander Valley. A hand-painted anime valley with a river, a village and a steam train, rebuilt from scratch on every reload.
Domino Rally. Real 3D physics, bridges and branches, and photos turned into domino mosaics.
Hexcrawl Generator. Fantasy hex maps with settlements, ruins and a campaign gazetteer. Exports to VTT, SVG, PDF and JSON.
Screen Schnauzer and Jimothy Screensaver. Desktop pets that roam a full-screen yard and chase your cursor.
Studio and media
Stream Overlays. 90 widgets and 15 scene templates for OBS. A no-account alternative to StreamElements.
Stinger Transitions. 77 editable transitions, transparent WebM or green screen, with the exact scene-cut frame.
Foil Press. Turn a photo into a holographic trading card. Ten foil effects that tilt and catch light.
Collage Wall. Sort hundreds of photos by color into one banner or wallpaper. 28 export sizes, no cropping.
Clean Slate. Whiteboard photo cleaner. Straightens, kills glare, exports PNG, JPG or PDF. Free Microsoft Lens alternative.
Comic Chatter. Type, and it draws you into comic panels with the original Comic Chat cast.
Avatar Atlas. Set your character’s traits, render them across 100+ open source avatar styles at once.
Music
Chiptune Jukebox. An endless shelf of albums that compose themselves while you listen.
Chiptune Radio. 8-bit loops across 25 moods, exported as WAV, stems or MIDI with loop points Unity, Godot and RPG Maker read, and the loops don’t click at the seam.
Weather Music. Any city’s real forecast becomes an original song. Temperature sets tempo, rain sets rhythm.
Guitar Centered. A playable 3D acoustic with 35 chords, 80 songs, alternate tunings and a capo.
Tools
Input Rate. The one from the editorial. Report rate versus refresh rate, for touch, stylus, trackpad and mouse.
Circuit Simulator. Also from the editorial. Real firmware, compiled and run in the page.
Since When. What happens on the internet while your tab is open. Wikipedia edits, earthquakes, Bitcoin blocks. Measured, not estimated.
Browser Fingerprint Test. 120+ signals turned into plain English about what sites learn from you.
FrameSend. Move a file from one screen to another device’s camera with QR codes. No Wi-Fi, no pairing, no install.
Measure Twice. 20 calculators that tell you how many bags, gallons or pallets of the stuff to buy.
Mood Journal. Every entry grows a flower on a year-long 3D calendar garden. 96 species, no account.
WordPress Checkup. Paste your Site Health report, get an ordered list of what to fix, each item linked into your admin.
Plugin Gap. Check whether your WordPress plugin idea already exists before you build it.
Generative and makers
Rock Collector. 286 minerals, gems, fossils and meteorites you can tumble and study, with real hardness and streak.
Virtual Bonsai. Grow a 3D bonsai across 11 species and save the scene as a wallpaper.
Emoji Press. A rolling paper press printing all 3,884 Unicode 17.0 emoji onto an endless strip.
Hot Coals. A living bed of charcoal that breathes, cracks and cools. No flames.
Campfire Simulator. Fire, wind, crickets and rain synthesized live, so it never loops.
Filament Swatch. Print-ready STL or two-color 3MF swatch cards with your brand and temps baked in.
I run a stack of skill files that shape how Claude works with me. Almost none of them are mine. Go read the originals, they’re all short, and the authors deserve the traffic more than I deserve the credit.
threejs-game-skills by Majid Manzarpour. Sold as a browser-games thing. The bit I use every single day just forces the model to render the thing and go look at the render before it tells me it works.
ui-ux-pro-max-skill by NextLevelBuilder. Style families, palettes, type pairings, anti-patterns. Ask an AI to “make it look good” and you get the same purple gradient forever. This gives you the vocabulary to ask for something.
awesome-claude-design by Rohit Ghumare. Where I go when I need to point at a look.
i-have-adhd by Aymane Ghribi. One job: stop your agent burying the answer under four paragraphs of warm-up. Install it, thank me later.
humanizer by Siqi Chen. Every “remove AI tells” skill (mine included) will leave you with sterile mush. This one’s about what has to survive the edit.
autonovel by Nous Research. A novel-writing pipeline. I have never written a novel and do not intend to. Its anti-patterns file is the best thing I’ve read on how machine prose falls apart at the paragraph level.
slop-forensics by Sam Paech. Statistics on which words machines overuse. Humbling.
ai-website-cloner-template by JCodesMore. Taught me to pull real computed styles off a page. Squinting at a screenshot and guessing hex codes is not a workflow, it’s a hobby.
Adam Lyttle‘s onboarding questionnaire skill. Written for paid mobile apps. Works disturbingly well on free browser toys.
Five things that cost me time this month and will save you some:
Know what you’re aiming at before you take the shot. I tuned an image tracer to match a source photo and it got very good at reproducing the JPEG’s compression artifacts, because that is what I pointed it at. The metric was working. The target was garbage.
If anything randomizes on load, your A/B test is dice. Four rounds of careful tuning on a crystal generator, all worthless, because the app re-rolls nineteen sliders every page load. Freeze your inputs before you measure. And, as always, look at what you’re building. Use it. Feel it. Then you can guide it to perfection as intended.
“Supported” and “works” are two different claims. Building the video export in Foil Press, the browser told me it supports a codec. The encoder then produced a zero-byte file. Check the output, not the capability flag, because software that says yes and does nothing will eat your week.
Cut anything that fails twice rather than patch it a third time. I killed about half of every batch building the 77 animations in Stinger Transitions. What got thrown out shaped that app more than what survived
The gap is sometimes the platform, not the feature. Every tool doing the job streamers wanted was a Windows install, so everyone on a Mac or a Chromebook was locked out of an entire category. That gap is the whole reason a few specific features in Stream Overlays exist. Before you build a better version of something, check who literally cannot run the current one.
Yours Digitally,

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.