Time Capsule 1
Building Software With Amp and Orbs
Quinn Slack · July 27, 2026 · 24:31
Quinn records how his workflow changed with Amp, orbs, dictation, portals, and many parallel agents. Through live examples, he shows how ideas and discovered bugs become isolated, testable, and shippable threads.
Chapters
Original Note
Time capsule of how I'm building software with Amp and orbs and all...more good change in the last month than all of last year.
Transcript
This transcript was generated automatically and lightly edited for punctuation and technical terms.
Here's a time capsule of what it's like for me to build software. It is Monday, July 27th, 2026, I'm working in Amp. And it feels like software, the way you build it, has changed more now, like in the last month than all of last year, and that's when agents got good. It sounds crazy to say, but a CLI agent where you can maybe do one thing at a time, maybe a few things at a time, if you really get your setup right, that made everything faster, but it didn't change everything in a way that totally hits you. So this time capsule is just to take a snapshot of what it's like, you know, today.
00:00:45I've got a lot of stuff that I'm working on all at the same time, it is very overwhelming. It's like thrilling and addictive, but it's very overwhelming. That's just what it is. So here's a feature I wanted to basically make it so that you can have custom domains. And why? Well, we've got these things, portals that lets you essentially see your local dev server with Amp's changes that it made. So you can actually try your app out and it just, it works. Everything is isolated, you know, when I was like, as recently as like a month ago, I had like five different worktrees on my machine and I had a way to make their dev servers run independently, but it like, it was so messy. Now with orbs, it just works.
00:01:31And here, you know, for some reason I was totally offline and I like record an audio file and then I just uploaded it to Amp. So it's kind of cool that that just works. Now we, you know, have first-class dictation in Amp, which just shipped, I've used it like 150 times in the last couple of days since we shipped it. But anyway, you know, when it works in a big feature like this, I usually like to have it make screenshots, often I'll ask it for a video walkthrough even. That's a good way to inspect how are we presenting this to the user? What actual concepts are we exposing to them? So you know, the principle here is the agent's time is cheap. Now today, you know, for many people, it might actually be expensive in monetary terms.
00:02:16Our Amp subscriptions make it a lot cheaper. We're super generous with the orbs. We let you connect your ChatGPT and other subs to Amp. So, you know, we've done a lot to make it cheap. You can start for 20 bucks a month, but I mean, in the greater sense, your agent does not have a limited number of hours, precious hours on this planet. Your time is sacred. So make it do the work to help you verify. And there's a lot of code here before I even dive into the code. Let's actually try it out. So over here on the right, I know it's kind of meta, but this is Amp, like all of Amp running in an orb, which is just a Linux machine somewhere that we make really nice and totally isolated, and it just works, you know, so let's try it out. It looks like it added this apps thing, so I'll go to my settings.
00:03:09And this is for a new feature that we haven't shipped yet, but you know, I've got a lot of product thoughts on how this is exposed to the user. I generally don't like that it's first, I don't think that placeholder is helpful, that icon is weird for apps and so on. So I dictate, when I can, when I'm not in, you know, a crowded place, I dictate like probably 95% of my prompts now. It's the fastest way to get stuff from your brain, information, bits of information from your brain to the agent, and that's really the limiting factor now. It's not, you know, the cool technique, this prompting hack or whatever.
00:03:53It's getting the, what do you want and what do you know, getting that to the agent. So dictation, really nice. I still use Superwhisper for things outside of Amp, but since we shipped this now, I just hold down Command-Shift-D and don't make it so that apps is the first thing in personal settings, put it after projects and make it so that the icon for apps is consistent with the icon that we use elsewhere for it. And I don't like the placeholder you have, apps.example.com, but actually no, I think that's fine. Yeah, make those changes.
00:04:40So I kind of changed my mind in the middle of dictating and that's totally okay. The agent figures it out. Like do not worry about that kind of stuff. We also added a way for you to give inline feedback. So if you don't like a specific kind of component here, like, you know, I could have also done that and said, see, ooh, actually I was hoping we would hit this. So we actually hit a bug in this little ability to pick out an element and make a comment on it for whatever reason, like I can't actually focus here. So you know, that's interesting. Let's fix this new thread.
00:05:27I'll do it in an orb. I think medium is probably fine for this and I'll dictate, I'll say when I am running my app in a portal and I click the little comment icon to go point to an element, that thing that Tim added a couple of days ago, for some reason it does. It lets me select an element when I'm in the mobile settings view of our app, but then I cannot focus the text input in it after I've clicked. And if I start to type, then it dismisses it. Fix this bug.
00:06:09There we go. So now it's going to go off on that. And it is so fast to do that kind of thing. In the past, how would you do this? Well, I think you'd go file a ticket, you'd, you know, if you're at a bigger company, you'd make sure that the team who owns that has all the context about it. By the time they got it, they might've changed other things and they, you know, say, oh, I don't know if this is still relevant anymore, you know, and whatever, blah, blah, blah, but you can just cut so much of that out now. Let's pop into another one that I was doing. Storybooks.
00:06:53This is a nice pattern. You know, in the previous one, we actually opened up the full settings UI, but a lot of times you just need the storybook, you know, so we do not use some like framework for storybooks. Our storybook is just like at slash storybook in our app. I generally don't think that you need to use a storybook framework. It just adds a lot of complexity. And you can see here, you know, I asked it basically be able to show notices in our web so we can send out messages. You can kind of see an example of the kind of message we want to send out if you want a fun sneak peek. So, you know, that's a nice pattern.
00:07:38For this kind of change, you know, would I review the code? You know, yeah, like, it's very rare that I will ship something without reviewing the code. I'll do that if it's something that users will not touch, if it's like analysis code, or if it's purely visual, like, you know, the visual effects for that. I don't want to, you know, click the whole way, but you can see it's got that nice visual effect. I'm not going to review the code there because it really doesn't matter. What I, you know, what am I going to check here? You know, I don't know. It's kind of contrived. I'm kind of not exactly sure what I would want to check here, but I haven't seen any red flags so far. I think, you know, I'm not sure. Placed.
00:08:30I can ask it, like, actually, Amp plugins work in the web, so we've got a full plugin API, and you can ask it stuff. So here I want to know, like, what does a web-placed notice mean, and how is that different from a web notice? So I can just ask that. And I asked that as a BTW, which is, you know, just an Amp plugin that just starts another thread to get an answer for me and doesn't actually, you know, take up space here. You know, it's not needed. I could ask it here as well, but that's a nice workflow just to keep it clean. And let's see.
00:09:11What else is interesting about the workflow? I have posted this video, you know, having Amp itself summarize some of the stuff that it did. Let's, here, I mean, here's a kind of fun example. I've just put my Runway, like, the video API company. They've got a lot of awesome models. It just works. And I put my API key for it in my, actually, personal settings. So here, I'll just show you what that looks like. Here we go. You can have your own environment variables.
00:09:53And how do you make a video? I mean, this is, like, literally what I told it. And then it made a video. And I didn't like it the first time. And finally, I think it got to something, you know, pretty good. I hope you like it. You might see it posted soon. I'm going to go to sleep after this, though, so sorry you've got to wait a little bit. Let's see. What else is interesting here? Oh, yeah, I got the answer here. A web notice, a web placed notice. I see. It's that. All right.
00:10:33So do you notice another thing that we should fix? Well, I think that, you know, that should be markdown rendering. So let's make another thread for that. I just took a screenshot, I pasted that in, and make it so that when we show a plugin response, like the one in the screenshot, that we render the markdown instead of just rendering it as text. Show me an example screenshot as well. All right. There we go. Let's see how this one's doing.
00:11:14All right. So this is an example of code that I'm probably not going to, like, need to review that much. This is a feature that has low blast radius, it's entirely client side, and there's just a lot of hackiness. I mean, literally what this does is, like, injects a little script into your dev server that's running in our portals, and anything where you're, like, doing iframe injection stuff, like, if you write this stuff by hand, there's going to be so many hacks in it. And the beauty of an agent doing it is you kind of don't need to look at the hacks. I'm kind of interested, I guess it has to do with a modal focus trap and all.
00:11:59That makes sense, because we do some focus trapping stuff in our modals. So that looks good. This is the kind of thing where I am pretty sure that it's not going to break, and I could go try it out. But this is actually something where, like, a portal within a portal is a little trickier. But I don't know, let's try it out. So you see, I haven't, like, done anything else to get the dev server set up. I just click on portal over here, and it's, if the dev server has not already started, it is going and starting the dev server in the background. Our dev server takes a few seconds to start up, as you can see.
00:12:44Generally, for portals, and portals, like, doubly nested iframes is weird, so I'm going to pop this out into my, like, main Chrome. Same thing, it's just, you know, by itself, and, yeah, iframes that are nested have weird, like, security rules. So let's, let's see, how do we get an example portal going in here? I actually don't think that the sample project that we have here has a portal. So this is where I'm just going to go and ask it. Make it so that the local dev server that you run in the portal has an example thread that itself has a portal because I want to test the injected script that you just made. So you know, common pattern of asking the agent to help you test something.
00:13:39And then what I'll do there, actually, is I'll say, once we've figured out a good way to make it so that the local dev server that we're running here has a thread itself that has a portal, then go make another orb thread to go and, you know, put that change in main and don't include that change in your change sets anymore. There we go. So, you know, I said once we've figured out a good way, and what I expect is the agent is going to wait until, like, we've actually confirmed that that's working. And that's nice. There's a lot of stuff in Amp to give it the right primitives so that you can say things like that.
00:14:22Like, before this is merged, or after this is merged, or wait for this to be deployed, or check back in a week if this user has done this, you know, if it has access to your database, or something like that. All right. There we go. Cool. All right. So it's going to do that. And it'll give me that authenticated local thread URL. So we can wait for that. Man, there's so much other stuff, but let's check in on this guy. All right.
00:15:14It's going. Yeah, those changes, they make sense. I like that it updated that. All right. So it's running a thread here. If we pop back over to Chrome, it's got a new thread here. Again, it's very meta. This is Amp running in Amp, local dev. And it had a problem. Usually we would not be waiting on this. So that would not be a problem, that it itself had a problem.
00:16:05Looks like it's trying a different approach. I wonder if it's actually parallelizing it. All right. Yeah, so it's a little weird when you have a portal inside of a portal, because there's certain stuff around like DNS that we have to do that we don't have that hooked up. So there's a few hacks. We'll see if it can get this. But here we go. Yeah, that looks a lot better. And it's kind of funny that it used the exact thing that I showed in the screenshot here. Yeah, that looks like it much better. And it just uses our standard markdown thing. So let's ship it.
00:16:46I love this ship button. This will push to main. If you don't want it to push to main, well, first let's ship it, then I'll show you. There we go. By the way, some people say, oh, I don't like that the ship button just sends a message to the agent. If you do this deterministic thing, and this feels hacky, whatever, the beauty of agents is you don't need deterministic knobs and levers and all that. You don't need a plan mode, whatever. It's like, let the agent do it. Someone else was asking, I want to be able to start an orb on another branch. And honestly, that's probably the kind of thing we probably will add. But you can just say, go make a new branch in your prompt. And especially with voice, that is so fast to say.
00:17:31And I think everyone knows what would happen if, you know, for every possible parameter, every possible thing, you know, we added another setting here. I think it would become a total mess. But let me do show you if you want it to not push to main, which is the way that we work and the way I think more and more people are working as the changes from orbs, parallel agents are rippling through their workflow. You can go to project settings and you can choose, you know, here, push to branch. You can even do like a custom ship thing that's like, go and update the ticket here, you know, whatever you want, like that. All right.
00:18:17And let's see how this guy's doing. All right. Yeah, it is kind of tricky. You do hit basically portals within portals are very tricky for the reasons I mentioned before, because like, you know, do they do DNS and you cannot easily have like deeply nested subdomains because then you have to wait for a TLS cert to be made. And that takes time.
00:19:03And, you know, we decided not to do that. So I don't know if it's going to figure it out in time. We will see this maybe it's it's going here, but you know, you do hit limits and there's something you know, especially confusing about having Amp run inside of Amp where you hit some limits, but you know, for most other apps, you're going to be able to test basically everything and we've had to get pretty deep to hit the limits of what Amp is able to test from itself. All right. So like a minute later, here we go.
00:19:43And yeah, this is one of these like, um, kind of, uh, DNS things, some of the stuff we have to do, um, but let's try open a new tab. All right. Here we go. I've got a portal in a portal Amp figured it out. I was just impatient and paranoid, you know, when you make the product, you know, even if you got, you know, all these people use it, you always in the back of your head, you got this tiny little worry, even if you use it yourself all the time. Uh, so let's try, I guess it's, um, got like a, a modal trapping that's using the same kind of a modal trapping, um, that we have. And let's see, I want to change that. Ah, very good.
00:20:25It works. So I was able to confirm that its changes work. Um, now, of course I could have asked it to do this as well. And that's what I would usually do, but I wanted to, you know, show some of this manually. Um, and by the way, I noticed there's no microphone here. So we don't have to stick around for all of that, but let's get that kicked off. And this one, it seems a little tricky, don't you think? So let's put it on high, make it so that when you are adding a comment inside of the portal and the little iframe thingy that we inject that it's, uh, also supports dictation using the standard way that we support dictation and the rest of the app. If this is harder because it's an injected iframe thing, then propose some of the solutions you think we could do that do not involve fully bringing Svelte in to that injected iframe.
00:21:31All right, there we go. And I just noticed, I don't know if you saw this, but when I hold down Command-Shift-D, it's like just started, um, it shows the like macOS. Here's the other things that are, that are like that, uh, that you can type here. I don't know. It's not, not quite showing up there. Um, but that's kind of annoying me. So let's kick that off as well. It's just, it's like so easy to test things. Um, and actually this is the kind of thing that I want to, um, is, it's a weird macOS thing and the orbs are Linux. Usually that's fine, but I'm going to use a runner, which is basically, um, I've got, uh, here, I'll, I'll pull it over.
00:22:19Um, if you, uh, it's not that one, which one, where am I running in? Here we go. Yeah. Um, so basically, you know, you run `amp --no-tui` and then that means that you can, uh, start threads from the web on your machine. And I got a Mac. So, you know, there's a Mac specific issue. So I will say, um, you know, run it there. And I'll say, sometimes when I hold, oh, there it's happening again. Sometimes when I hold Command-Shift-D to dictate on macOS, it shows me the thing that macOS shows to type like the letters with accents in them. And there's like a D with an apostrophe.
00:23:05And then like a, it looks like a Greek Delta with a little X across it. It doesn't happen all the time, but it started happening sometimes when I hold down Command-Shift-D to dictate. Make this, make it so this does not happen on macOS and it's happening in Chrome. You can try to repro it, uh, yourself or use the computer use. I got a screenshot of it, which we can follow up and I'll just say, here's a screenshot for you. All right. So it's going to go work on that and there we go. So that's a tour of a bunch of the stuff that's changing, um, got a lot of other stuff going on.
00:23:53The amount of parallelism is, uh, you know, very high, but all this stuff, you know, you just, you have the agent test it way more than any human ever would, uh, like here's an example, you know, run through a comprehensive test, like try everything. This is the kind of stuff where if you told human to do it, they would get really annoyed, that you can do it now with an infinitely patient agent where the agent does not, you know, does not have a limited number of precious hours here on the planet. All right. This is the way that I'm building Monday, July 27th, 2026.