Building Software From My Phone Josharian built a mobile-friendly concert calendar for San Anselmo's summer music series using the exe.dev iOS app, demonstrating how developers can create software entirely from a phone. The project involved voice transcription and AI agents to organize event data, highlighting a shift toward mobile-first development workflows. My little town of San Anselmo has a delightful live music concert series in the summer https://www.liveontheavenue.org . What they don’t have is a website that is easy to read on my phone. I was on vacation when this summer’s schedule posted–and I had intentionally left my laptop at home. My first instinct was to ask ChatGPT to paw through and organize a schedule to my tastes, but recently I’ve noticed that farming out such tasks to Pro is lossy. I’d say it lacks serendipity, but it’s more than that. My preferences may appear superficial bluegrass, please , but in reality, none of us are quite so reducible. Our opinions are complex and only coarsely approximated by what we might think to tell an agent. So instead, I pulled out my phone, opened the exe.dev http://exe.dev iOS app, created a new VM, and said to Shelley: https://www.liveontheavenue.org please organize and analyze all of the events, movies, and bands. Add times and genres to each. Turn the whole thing into a simple, compact calendar that I can browse and scroll through on a single page. Use subagents to confirm band genres. Add a genre filter at the top, maybe a dropdown with checkboxes? Mobile-friendly. A few minutes later I had https://live-on-the-avenue.exe.xyz/ https://live-on-the-avenue.exe.xyz/ up and running. And it turns out the band I’m most excited for is listed under ska and klezmer. Sow on the Go The curse of having an interesting job is that you think about it all the time. I used to send myself a dozen emails a day with ideas and tasks and bug reports. Each of these was a seed for some work, to be completed later at a computer. Now that my development environment lives on exe.dev http://exe.dev VMs, I plant these on the go. Because I hate typing on my phone, I added high-quality transcription to the exe.dev http://exe.dev iOS app https://apps.apple.com/us/app/exe-dev/id6759881448 . In addition to being more pleasant than typing, it’s also faster. And, because I’m talking, I naturally provide more content and context, which lends itself to better results. For many tasks, reaping and/or weeping reviewing, testing, deciding what’s actually good still ultimately requires a laptop. But kicking off work no longer means routing it through tedious, intermediate steps. Voice Triage At any given point, some of my agents are working, some are blocked on trivial stuff, and some need my serious, sustained attention. I can now burn through the trivial stuff rapidly from my phone while taking a walk, getting some sunlight, or tidying the house. I put in my headphones, start up real time voice mode, and work through outstanding Shelley conversations: respond, archive, spin up a new thread, leave for later, repeat. It’s less efficient than staring at my phone, but far more pleasant, and worth the change of pace. I’ll write more about voice mode in a future post. Share Sheets exe.dev http://exe.dev has been available on mobile web for ages. OK, fine, months. Feels like ages. There were really two key features that drove us to start an iOS app, features that we simply could not ship in the browser. The first was notifications; the second was the share sheet. The share sheet lets you send screenshots, files, videos, and more to Shelley on an exe.dev http://exe.dev VM. Sending a screenshot of a visual bug is so, so much better than describing it. My personal favorite use of the share sheet is for transcriptions. When I have a substantial new feature I want to design or a blog post I want to draft, I open up Voice Memos on iOS and talk it out, often for the better part of an hour. I have a VM configured with a Deepgram and a Voxtral integration, and a rich agents.md that teaches it how to do transcriptions https://gist.github.com/josharian/cb61a1b59716a30a21496a51e9c9b0cd . TL;DR: Wait for a file to appear, fan out text-to-speech to both providers, merge the results, clean up disfluencies, recognize common homophones of “ exe.dev http://exe.dev ” and “VM”, trim redundant content, and email me the results, all while preserving word choice and structure. Once I’m done recording, it’s a few taps–and zero typing–to dispatch the audio file to my transcription exe.dev http://exe.dev VM; the result lands later in my inbox. As with so many things I use exe.dev http://exe.dev for, there are third-party services that do much of this, but they do it clumsily, or in a way that requires me to do a lot of pre- or post-work, or in a way that doesn’t integrate well with the rest of my cobbled-together digital life. Making it trivial to share stuff into an exe.dev http://exe.dev VM has been a major unlock.