www-robinsloan-com-uhz1xc.txt (24549B)
1 [1]Blog [2]About [3]Moonbound 2 3 This is a post from [4]Robin Sloan’s lab blog & notebook. You can [5]visit the 4 blog’s homepage, or [6]learn more about me. 5 6 [7]‘Ask for what you want’ is a key skill for the 21st century 7 8 September 18, 2026 9 10 Magic lamp; click to download a larger version 11 [8]Magic lamp; click to download a larger version 12 13 This is an update to my post [9]about apps as home-cooked meals, which has 14 found a large audience over the years. That post, published in February 2020, 15 discussed personal software, designed and built in different ways, for 16 different reasons, than industrial apps. 17 18 What’s changed between 2020 and today? Oh, just the entire process and practice 19 of computer programming. Here, right up front, I decree: building a personal 20 app with the help of AI agents still totally counts as “home cooking”. You’re 21 no longer grinding the flour by hand; fine. This is a cool development. You do 22 still have to make the meal taste good, and this still requires care and 23 effort. Fine. 24 25 The AI industry’s immediate future has more to do with exotic finance and 26 gnarly politics than the underlying technology. I’m not invested in that 27 future; most days, I think a minor bust would be a good thing. But, that 28 underlying technology, in its development and flourishing this past year — yes, 29 really that recently — is profound. It reframes computing entirely, replaces a 30 stack of API reference docs with this simple invitation: 31 32 Ask for what you want. 33 34 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35 36 It began during one of my drives between the San Joaquin Valley and the San 37 Francisco Bay Area, always an opportunity for daydreaming, generator of many 38 voice notes. On this drive, back at the start of summer, I was doing some 39 meta-daydreaming, pondering how my notes app worked, and didn’t, and I thought: 40 “Robin, just tell the AI agent to make the app you want.” 41 42 I got home, and I told it, and I cooked dinner, and by the time I went to bed, 43 I had my new notes app, native macOS. I began using it immediately, and over 44 the next couple of weeks I refined it, explaining my preferences to the AI 45 agent. The app has taken pole position on my dock, and I use it every day. 46 47 I’ll explain my process in more detail, but first, I’d like to propose an 48 exploratory program. This is recommended for anybody/everybody, but more 49 pointedly for creative people who are wary about AI. I’m wary, too — cautious 50 and critical — yet I believe my experience this summer educates and enlivens my 51 criticism, rather than undermines it. 52 53 And … even if you were an enemy of the railroad corporations, the vast 54 syndicates … would you deny yourself the pleasure of the train? 55 56 This exploratory program only works with the summer 2026 generation of models: 57 58 1. Download the desktop app for either Claude or ChatGPT. 59 60 2. Pay for the monthly plan that gets you access to the top-tier model, either 61 Fable 5.1 or GPT-6 Astra — just one month. 62 63 3. This is a trial, a test, an education. Well worth it. 64 65 Why even publish this post, when the internet is awash with AI boosterism, 66 AI-can-change-your-life-ism, tell your Claude to do this, teach your ChatGPT to 67 do that? Because I think my approach is better, obviously. The consensus vision 68 seems to involve AI working for you day-to-day, a constant ambient presence, 69 sparkles in everything; even cautious Apple has succumbed. I’m not interested 70 in that. 71 72 My alternative: get your wish, then stuff the genie back into the lamp. 73 74 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75 76 As you begin your exploration — this sounds sort of random, but — I strongly 77 suggest that you ask your AI agent to build a native desktop app, rather than a 78 web app. Seeing a new icon in your dock drives home the understanding: this 79 environment is malleable. It can, at last, be anything I want. 80 81 So … what DO you want? For me, this was straightforward. I have always used a 82 rotating collection of apps for writing, note-taking, managing images, and 83 more, so it was an easy call to say, “those, but simpler and faster”. 84 85 Alternatively, you might think about computer tasks that are currently annoying 86 or overwhelming. As the capstone for my AI summer, I built myself an email 87 client! It’s very simple, just a particular view of my professional Gmail 88 account, filtering and presenting a subset of messages, sparing me the full 89 kinetic impact of my inbox. It’s called Grand Vizier. It’s great. 90 91 That’s all very “productivity”. It would be just as good, even better probably, 92 to ask for something fun. A game! Or, how about, I don’t know, a jukebox to 93 play music from a streaming service, without all that extra junk they cram in 94 there. Doesn’t matter which service you use — the AI agent will figure out how 95 to wire it up, tell you the steps, ask for what it needs. 96 97 There’s a crucial limitation here, which is that your need or desire must live 98 “inside the box”, within the realm of apps and files, pixels on screens. Most 99 of life doesn’t happen in here. If, indeed, none of your needs or desires are 100 app-shaped … well, that’s not unusual! I have chatted about this with several 101 friends who pondered a while, then declared: “I don’t have any problems that 102 software can solve.” 103 104 If that’s you, close this tab and proceed with your day. 105 106 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107 108 When I arrived home after my daydreaming drive, I sat down at my laptop 109 and … did NOT open an AI agent. Instead, I spent an hour writing a document 110 explaining what I wanted. I pulled in references to [10]an old app I used to 111 love. I wrote at length about what I didn’t want my app to do. 112 113 There’s an appealing looseness that is available, writing this kind of document 114 for an AI agent. You should imagine the agent “reading everything at once”—all 115 the words understood in parallel, their relationships and cross-dependencies 116 and even inconsistencies simultaneously available. Rather than “a clear, 117 sensible explanation”, you are aiming for “useful guidance on the page”. More 118 is usually better. 119 120 Here’s the exact doc I wrote on that night, which I titled VISION.md. I offer 121 this not as any sort of “best practice” but simply as an example of how you can 122 approach these. 123 124 VISION.md 125 126 We are going to built a lightweight, super minimal, VERY VERY fast notetaking 127 and reviewing tool for macOS! Super fun! 128 129 We’ll write this in modern Swift, keeping it as simple as possible. Really lean 130 system. It targets macOS Sonoma and above. 131 132 There are a few inspirations to know about. 133 134 One is the classic macOS program Notational Velocity. You can do some web 135 searches to learn about this app. There’s a screenshot in nv-main-window.png. 136 137 We want to reflect NV’s obsession with speed. Now – our demands aren’t 138 infinite. This isn’t like a live scrollable database of millions of notes. In 139 fact it probably doesn’t even have the same demands as, e.g., the Apple Notes 140 app, or the Photos app on iPhone. We are looking to support in the range of 141 ~20,000 notes. So it’s very possible we can just like … load all of these into 142 memory! Right? 143 144 The source of the notes will be a selectable local directory. Sync will happen 145 via another engine – Dropbox, in most cases. The point is, all we have to do is 146 worry about local files. We DO want to detect when they change / are updated / 147 added / removed, etc., but I suspect we get this “for free” simply by following 148 macOS best practices. 149 150 Setting this sync directory should be the app’s one main setting. It should 151 have a settings/prefs window, just like an macOS app, reachable by a menu item, 152 and the usual keyboard shortcut. We’ll start with just this one single setting. 153 154 Another inspiration is the app Bebop, by Jack Cheng – https://jackcheng.com/ 155 bebop/ – which is where most of our notes come from, in practice. Bebop is the 156 mobile “writer” app and this app we’re building is the “reader” app. 157 158 Oh, I forgot to mention, this app will be called Rocksteady. 159 160 The notes will be Markdown files, sometimes plain text – the app should handle 161 both easily. Rendering Markdown correctly is NOT a goal for a first version – 162 we should just display the plain text. 163 164 We’ll want to implement NV’s very very fast search, which does a “live filter” 165 – so, in the search field, as I type “bat”, it insta-filters all the notes, 166 showing me only notes with “bat”; then, as I continue typing, to write “batm”, 167 it shows me only notes with “batm” … and so on. (This will be all my “batman” 168 notes, of course.) 169 170 I don’t think fancy search tech will be needed for this – again, the quantity 171 of notes is such that a relatively simple search algo operating on text in 172 memory should be sufficient. However, if you disagree with this assessment, 173 please let me know! 174 175 The design should be “classic macOS”, using entirely default controls/buttons/ 176 widgets/etc. – nothing custom at all. We are making a really “Mac-assed” app 177 here … in a sense we wish it was a classic macOS app, back in the days of 178 System 7 … but we’re stuck with modern macOS, so, we’ll make the best of it. 179 180 The app only allows you to look at one note at a time, the one currently 181 selected. No tabs, no sub-windows, etc. – it’s very simple that way. 182 183 The app should also allow me to edit notes, of course. I’m sure this can be 184 accomplished with some default macOS text editor pane/widget. The behavior 185 should be, when I start editing, a note is marked “dirty”, then I have to hit 186 “save” (menu command, or command-S) to save my changes. Or, if I attempt to 187 navigate away from it, the app should warn me with a dialog, “Abandon changes”? 188 – again, super simple, super classic behavior. 189 190 The app should support basic undo – I assume we get this for free from macOS? 191 I hope so?? 192 193 No support for inline media, images, etc. – this is strictly text notes. 194 HOWEVER if there are images in the synced folder – or indeed any other kind of 195 file – the app should handle them gracefully. I think the best behavior would 196 be to show them in the “notes list” as entries but make them grayed out, 197 unclickable. Maybe we’ll add a feature later where clicking them opens them in 198 the default handler app … maybe! 199 200 The app’s layout should mimic a classic “note titles on left, note body on 201 right” layout – most notes app do this. You can see a screenshot example in 202 app-layout.png. The search bar should be on the top of the left column. 203 204 Obviously, all the variables that dictate the layout (default width of note 205 list, font sizes, etc.) should be vars in the code – so we can potentially wire 206 them up to prefs/settings later. But we can start simple to make sure things 207 are working. 208 209 As a first step, I’d like you to produce a PLAN.md outlining an implementation 210 approach. 211 212 Ask me any questions that might be helpful, then proceed. Let’s build 213 Rocksteady! 214 215 (Please excuse my relentlessly chipper tone. I do believe it produces better 216 results. What a weird technology.) 217 218 This level of description isn’t strictly necessary; in fact, a sensible 219 alternative is to cut straight to my last line: “Ask me questions.” The AI 220 agents have all been trained to do this, and they’ll happily extract the 221 information they need. That said, I think this writing exercise is valuable, if 222 only to prepare yourself as a creative partner. If you’re going to ask for what 223 you want … you need to know what you want. 224 225 Okay, so, you write the doc, and you ask the AI agent to read it and produce a 226 plan, and you look at that plan, and you say, make it so! The AI agent goes off 227 and does its thing, working quietly for between ten and forty minutes. 228 229 That’s what I did, and before I went to bed, I had my notes app. It was, 230 honestly, dizzying to see the new icon waiting there in my dock. It was exactly 231 what I wanted. 232 233 Over the next couple of months, I refined the app, but only a little. It was, 234 and is, basically finished. I suppose it helps that I had all my old notes to 235 decorate this new space, making it instantly useful. Another point for plain 236 text files. 237 238 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 239 240 That success emboldened me to build an iOS sidecar, a capture-only notes app 241 that is truly, gloriously, [11]a Homer Car. 242 243 [sloan-home] 244 245 This approach to software complicates traditional notions of “good design”, 246 which are premised on the designer and the user being different people. When 247 you are both, anything/everything becomes sensible, because the underlying 248 logic is always totally clear to you! It’s sort of weird and amazing … a 249 different experience of software. No mysteries. 250 251 Implicit in this view is a sense of “continuous co-building”, which is how 252 I approached these apps. Each began as something absurdly simple, barely 253 anything at all, that I began to use immediately. As I felt myself reaching for 254 missing capabilities, I kept a list. Over coffee, I’d ask the AI agent to 255 implement them. 256 257 This process wasn’t particularly fast, maybe not even particularly efficient, 258 even with the AI agent cranking out code at warp seven. I took screenshots and 259 pasted them into the chat and said “this looks weird”. I asked for new 260 features, tried them once, said, “no, I was wrong, rip that out”. 261 262 Working this way, you must become unembarrassed about nitpicking. You must 263 become Steve Jobs, pointing out every misalignment, every detail insufficiently 264 considered. You can be nicer than Steve Jobs, though. 265 266 Understand: if you embark on this exploratory program, it will become your 267 hobby for the next few weeks. It will be the thing you do in the quiet of the 268 morning, over coffee, or in the quiet of the evening, before bed. If you are 269 superbusy, if you have no quiet, this is probably not for you. That’s fine. 270 271 [12]I know how to make apps on my own, yet the feeling of working on software 272 in this way is totally different. Before, the prospect of any modification or 273 expansion carried an underlying “oof”, the knowledge of the slog to come. Now, 274 there is only a light and inviting “what if?” 275 276 And, no: I don’t look at the code. 277 278 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 279 280 For me, the aim is always a finished, standalone program — NOT a process still 281 dependent upon AI agents. The prospect of a permanent tether makes me feel 282 itchy. A distant API could fail, and you’d be … unable to do … anything?? Or, 283 the distant API could suddenly cost more. Or, the quality of its responses 284 could change. Sorry, but that’s the kind of unreliable computing I am trying to 285 escape. 286 287 I’d rather work with an AI agent to construct steady, sensible tools that will 288 continue to work, no matter what. Call this Battlestar Galactica engineering: 289 you must at least IMAGINE the Cylon uprising, and ensure that your spaceship 290 will still function if or when that day arrives. 291 292 “Your spaceship”, in this analogy, isn’t only your software, but your mind. 293 Making these apps, I felt my programming muscles wither in realtime, the 294 timelapse of the rotting apple. The idea of writing code by hand now 295 feels … not impossible, but just SO excruciating. That feeling honestly 296 frightens me, and I intend to keep it firewalled into this domain. 297 298 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 299 300 One of the things I’ve come to enjoy is asking the AI agent to grind out 301 performance improvements: “How can we make this snappier? How can we make it 302 load faster? What’s the slowest thing about this app, and how can we fix it?” 303 304 I suppose this is another reason I recommend starting with a native desktop 305 app, rather than a web app — it’s easier to make something that absolutely 306 flies beneath your fingertips. In an era of big, slow, cruddy software, it is 307 refreshing, even electrifying, to use tools that are lightweight and superfast. 308 309 You can ask for other things, too: “Review this code and make sure it’s simple, 310 sturdy, and maintainable. If things have gotten too complex or wonky, find a 311 way to rein them in, so everything feels really tight and solid.” 312 313 The AI agents will happily do this again and again, as many times as you want. 314 315 Discussing these AI systems, everybody wants to talk about “intelligence”, but 316 I don’t think that’s the profoundest thing about them. Rather, I believe it’s 317 the other -ences: patience, diligence. 318 319 That latter one is important for me. I think of all the creative programs I’ve 320 written, little scripts to render cool images, or maps, or whatever … always 321 with a trail of shrapnel behind me — old versions, forgotten configurations. A 322 sense of tumbling forward. 323 324 Well, the AI agent really, REALLY wants to record the configurations. It will 325 spin up a little web page admin screen to track all the different permutations 326 and trials. It will do that in two minutes. This basic diligence and 327 organization has been as transformative for my work as anything else. 328 329 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 330 331 Okay, so. With the help of the AI agent, you make your first app. It bounces 332 merrily in the dock. I want to underscore, what’s important is not that it’s a 333 notes app, or a sleek jukebox, or whatever. You can already get every kind of 334 app. What’s important is that it’s yours. It’s weird and specific, and it won’t 335 change unless you want it to change. 336 337 I propose a new and ongoing habit, asking this question: Is the computer 338 working the way I think it ought to work? No? Okay, I’ll ask the AI agent to 339 help me change it. 340 341 This even applies to the agent itself, which is, of course, just software. Do 342 you wish you could interact with it differently? Do you wish it would present 343 its findings to you some other way? Just ask. 344 345 There it is, the radical offering of 21st century computing, here at last: ask 346 for what you want. It takes practice! And, honestly, a certain audacity. 347 348 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 349 350 The moment of asking for an app and getting it is dangerous, because you feel 351 like you accomplished something. You didn’t — not really. You can briefly enjoy 352 that feeling, but I believe you must quickly discard it. The risk is that it 353 pulls you into a loop, endlessly tinkering, refining, improving … and never 354 emerging from your cozy AI workshop. 355 356 You do, at some point, have to use your tools. You do have to actually make 357 something. 358 359 Rules for personal software produced with the help of AI agents: 360 361 1. You must actually and consistently use anything you build for two months 362 before posting about it. 363 364 2. Ideally, never post about it. (I know I am breaking this rule, but my 365 purpose is pedagogical, and anyway, I’ve got more apps I didn’t tell you 366 about.) 367 368 3. Don’t let the AI agent name the app. You pick the name. 369 370 4. Don’t distribute the app, not even for free. Don’t post the code on GitHub. 371 This is not software for glory; it is software for you. 372 373 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374 375 The [13]Culture novels of Iain M. Banks imagine a distant future that’s both 376 dystopia and utopia. Dys- because the management of spacefaring civilization 377 has been given over almost entirely to vast machine Minds, and u- because, 378 well, you can ask them for whatever you want. 379 380 It’s fun and provocative to read Banks as a dream of how far the genie can go. 381 In his books, the Minds have mastery over not just information but matter, so 382 characters are always like, asking for asteroids to sculpt … requisitioning 383 small stars. 384 385 Likewise, Star Trek’s depiction of the ship’s computer, particularly in The 386 Next Generation, has suddenly snapped into prescience. This bravura scene, in 387 which Geordi solves a mystery using the computer, is the best dramatization 388 I’ve ever seen of this new way of working, better than Iron Man’s Jarvis by 389 far: 390 391 Put the Holodeck to one side; Geordi could easily be working at a screen. Watch 392 him ask for what he wants — an iterative loop, a co-investigation. 393 394 I think you should try my exploratory program because you’ll get something 395 useful and/or fun out of it, and also because it is possibly the only way to 396 understand the state of this techology today. Reading articles and posts 397 (including this one) won’t get you there. And, some of the news is good! 398 Working with an AI agent of the summer 2026 generation, you will realize its 399 capabilites are prodigious, yet tightly circumscribed. It lives inside the box. 400 401 Yet … I’ll confess, working with the AI agents more closely has also stirred in 402 me a fear that’s not just intellectual but visceral — animal. Watching an agent 403 encounter a bug, then grind through it, hypercompetent, confident, 404 implacable … I think of Alien, the original movie, not the xenomorph, but its 405 blood. Acid that eats through everything. The context for the agent’s 406 relentless effort can be totally innocent — it can be a notes app — yet the 407 behavior is still sincerely unsettling. It’s educational to watch up close. 408 409 I’ve spent years engaged by AI, yet between this time last year and today, it 410 become something totally new — a phase change — and I hadn’t truly caught up 411 until now. I’m glad I did, and I encourage you to catch up, too. 412 413 Magic mirror; click to download a larger version 414 [14]Magic mirror; click to download a larger version 415 416 [15]To the blog home page 417 418 I’m [16]Robin Sloan, a writer, printer, & manufacturer. The best thing to do 419 here is sign up for my email newsletter: 420 421 [17][ ] [18][Subscribe] 422 This website doesn’t collect any information about you or your reading. 423 It aspires to the speed and privacy of the printed page. 424 425 Don’t miss [19]the colophon. Hony soyt qui mal pence 426 427 428 References: 429 430 [1] https://www.robinsloan.com/lab/ 431 [2] https://www.robinsloan.com/about/ 432 [3] https://www.robinsloan.com/moonbound/ 433 [4] https://www.robinsloan.com/ 434 [5] https://www.robinsloan.com/lab/ 435 [6] https://www.robinsloan.com/about/ 436 [7] https://www.robinsloan.com/lab/ask-for-what-you-want/ 437 [8] https://www.robinsloan.com/img/lamp-collage-bigger.jpg 438 [9] https://www.robinsloan.com/notes/home-cooked-app/ 439 [10] https://notational.net/?utm_source=Robin_Sloan_sent_me 440 [11] https://simpsons.fandom.com/wiki/The_Homer?utm_source=Robin_Sloan_sent_me 441 [12] https://www.robinsloan.com/notes/home-cooked-app/ 442 [13] https://www.robinsloan.com/moonbound/muscular-imagination/ 443 [14] https://www.robinsloan.com/img/magic-mirror-bigger.jpg 444 [15] https://www.robinsloan.com/lab/ 445 [16] https://www.robinsloan.com/about?utm_source=Robin_Sloan_sent_me 446 [19] https://www.robinsloan.com/colophon/