Joy & Curiosity #95

Interesting & joyful things from the previous week

Open on Substack · Markdown

In the last two weeks I’ve shipped: a new experimental provider backend for our orbs, an in-product bug reporting feature (not released yet) including an admin area where we can triage bugs, disk and memory warnings for orbs, visible setup logs when orbs are starting, a full Comet Busters-like game that’s hidden as an easter egg on our website, a microphone selector for our dictation features, a new work-in-progress page that explains what orbs are that has a bunch of handwritten text and videos and other stuff I put in there by hand, user preferences for themes, and a few smaller things.

I also fixed around twenty bugs and removed 5k lines of code that we no longer need.

“We get it, man, you shippe—”

Nah, nah, nah! Not the point. The point is this:

I have not used my local development environment for any of this. I’ve done all of this remotely, using Amp, in orbs. Everything! Backend for remote machines; messages sent across three services to warn about system resources; landingpage. The freaking game is probably the least surprising thing here, isn’t it? And it’s a game with custom assets!

Isn’t this wild? No, I know, it is, that’s what I’m saying.

“Surely some things you want to check or test locally, no?” Nah, not really. I mean, yes, that’s probably what I would’ve said half a year ago if you’d told me I won’t need my local dev setup anymore.

Turns out that, no, you don’t. You can just ask the agent to give you “irrefutable proof” that something works and if you have an orb and it can do whatever it wants and install whatever it needs it will find a way to give you that proof. Orbs are malleable, the agent can shape them to fit the task by installing and running whatever it needs and and then you get a bespoke made-for-exactly-this-task machine in which an agent can go crazy and if you ask it it will give you a presentation or a narrated video in which it shows by — frame-by-frame, man! — that the race condition has been fixed.

And then, what else do you need your local dev env for? Editing code by hand? Come on, man. Reviewing code deeply? Amp has a diff viewer, so you don’t need to do that locally either. And for all of the things I shipped here, I didn’t review each line anyway. I do spot checks and make sure the architecture is right, yes, but do I need local tools for that? No. You can ask the agent to help you with reviewing by quizzing you, by giving you diagrams, by showing you a presentation.

What about the fiddly things? The things you do want to feel your way towards, with your hands? Little bit of padding here, some margin there; now let me flip these two paragraphs and— ah yes, better. That kind of stuff? That’s actually where I’m now experimenting the most because I do have this need to flip words and paragraphs and move stuff around. I want to look at it, change something, look again; undo, redo, change, undo, and back around again.

But here too the game has changed in a way I find marvelous. Because you can just dictation-dump all your ideas to the agent and hand it screenshots and assets and raw notes and snippets and then ask it to provide you with example pages and 15 different variations of the widget you’re interested in, and then you can tweak those and say “this one’s good, let’s use this one” and you feel like you’re the head chef strolling through the kitchen, spoon in hand, tasting the soup over here, tasting the dessert over there, saying “nah” or “mmmmh, good” or “into the trash”, and your headless and faceless and bodyless sous-chefs don’t mind at all and just do what you say and try again.

Then weeks go by and you notice you haven’t git pulled in a long time and every time you do end up doing that again (due to nostalgia?) maybe use more than one checkout, you notice that it starts to feel… yucky? dirty? unclean?

Wild times. Exciting times. The models are there now. And if you doubt that, just wait a couple months.