In this post, I am trying to stay close to one small point of recurring friction and use it to share an intuition about software. The details are personal and specific so I don’t expect the reader to share the exact problem that I had, but I appreciate how a concrete example keeps the problem grounded in a real need. What I am really trying to show is a way of looking at the digital world around us: much of it is more shapeable than it first appears, especially now that AI has lowered the cost of trying.


The Magic Trick

Yesterday I ran into a minor inconvenience on my phone. I wanted to select a block of text in Chrome and save it as a PDF. This wasn’t the first time I wanted this feature.

There are obviously plenty of ways to make PDFs. You can find countless free online tools for this, but they are still cumbersome to use if you find yourself doing this often (copy-pasting, switching windows, etc.). And what if I wanted to keep this a private and local matter? This particular text was not sensitive, but I still did not love the idea of routing this simple task through some random web server.

The Chrome browser on Android has “Share > Print > Save as PDF…”, but for my use case, this feature was broken on this particular web page (it’s a single-page application which tends to break these native printing features) and the resulting PDF didn’t contain anything of what I wanted. A workaround on the desktop is to highlight the text that I want, right-click and select “Print…”, but on Android, this is missing. I just wanted to highlight some arbitrary text, press some kind of button, and get a plain PDF containing that text. Nothing else.

I have Adobe Acrobat installed on my phone, and it gave me its own “Create PDF in Acrobat” menu item for it. This case is different from a random web converter. It is a known app from a known company, already integrated into Android’s menu. I am inclined to trust this path more. So I gave it a try… and it took me to a subscription screen.

This was not important enough for me to pay $15 a month for Acrobat.

After hitting all these walls, I started to wonder how difficult it would be to vibecode exactly the thing I wanted.

I talked it through with ChatGPT for a couple minutes. The actual piece of functionality turned out to be quite simple… I don’t need a full screen app with UI considerations or any of that. I only needed to expose a new text-selection menu item and create a PDF.

I also had no interest in setting up everything required for a mobile-development project. So I prompted ChatGPT to help me write up a fairly constrained prompt for Codex.1

Codex pretty much one-shot2 it.

There was a little steering and some basic setup on my side but from my first conversation with ChatGPT to prompting Codex to installing the finished solution on my phone and confirming that it worked was about 25 minutes.

I’m not claiming I’m the fastest gun in the West or anything but I’d say this isn’t half bad. I was able to do this because I saw clearly and precisely the shape of the problem such that there was very little wasted effort, human or machine.

Seeing the Next Gap

What I have now is a tiny addition to my phone: selected text goes in, a PDF comes out.

The menu was already an obvious seam in the system. I had used app-provided actions there before. The change was that AI lowered the cost of building into that seam enough for this tiny use case to make sense.

I can now imagine extending this in other directions. The selected text could become Markdown instead of a PDF, or flow into my Obsidian notes, or get handed back to ChatGPT for further processing, or turn into some other useful action that I have not thought of yet.

I’m now also primed to look for other potential seams hiding right under my nose.

And that is the point of this post, and perhaps this blog. These are small experiments in agency and leverage. These are intentionally not grand reinventions of the computer, just little attempts to make the tools around me answer more directly to the way I want to use them.


For a closer look at the thinking behind those 25 minutes, I unpack how I broke down the problem in The Magic Trick Revealed.


Footnotes

  1. Yes, I prompted an AI chatbot to prompt an AI coding agent… the future is now! ↩

  2. There are some vague definitions of “one-shot” floating around, so I’ll just tell you what I mean by it: I gave a strong and detailed prompt up front and the coding agent nails it on the first try. This example wasn’t perfectly “one-shot” but it got pretty close. ↩