From a cute demo to software I use every day
It's been a while since I wrote here. I've been making things for myself, and I keep coming back to something I wrote about three years ago.
In Fixing Siri, I wanted an LLM to take the messy way people speak and turn it into commands software could understand. Bilingual Siri!! was another little reason to be optimistic. I wanted to tell a computer what I meant without remembering exactly how it wanted to be asked.
Earlier in 2023, Greg Brockman had shown GPT-4 turning a notebook sketch into a joke website. You probably remember the demo.
The demo was cute. I don't mean that disrespectfully. It was impressive, but I knew how much work sat between that page and something a person could actually use.
You could generate the front end. Then what? How would you serve it? Where would it live? How would someone else get to it? Servers, deployment, DNS, connecting other services: you still needed to know what to ask for next.
Tools like Vercel and Lovable have helped close that gap. But for me, there was still an extra push required from the user to take an idea and make it available in the world.
The clearest example for me has been my email.
The inbox I wanted
I was a HEY customer when it started. Its philosophy appealed to me: having your email address shouldn't automatically give someone a claim on your attention. With The Screener, you decide whether to hear from a new sender. Important mail goes in the Imbox, newsletters in The Feed, and receipts in the Paper Trail.
I think that's why it resonated with people. Make a decision about a sender once, and stop dealing with the same clutter every day.
But at the time, I missed Gmail's search and wanted more flexibility in how I filed things. After a couple of years, paying $99 a year didn't feel worth it for how I used it, so I went back to Gmail with a Workspace account.
Then I became one of those people who, every few months, sit down and clean up their Gmail or Airmail filters. Go through the messages. Decide what belongs where. Add another rule. Repeat.
It was annoying. I wanted the cleaner inbox without the recurring chore.
The WhatsApp MVP
By early 2026, OpenClaw gave me an agent that could keep running, understand some of my context, and do things on my behalf.
One example: a real estate agent sent me a lease agreement. While I was out, I could ask my OpenClaw agent to find the emails and compare two versions using the gog connector. I stayed in WhatsApp, asked follow-up questions, and got what I needed to respond. Previously, that would have meant sitting down at a computer or juggling documents on my phone.
So I gave my MacBot a recurring job: suggest email filters every morning. I'd reply with my choices, and it would do the filing work.
Getting that to work was painful. This was early in my time with OpenClaw, before Airmail's public MCP bridge came along. I didn't have a direct connector for the agent to add rules, and general-purpose computer use was too slow and unreliable for the job.
I ended up with scripts that took simple inputs from the agent and used macOS automation and System Events to control Airmail. Underneath the WhatsApp conversation, a script was opening settings, navigating dropdowns, typing conditions, and saving rules. This was the janky workaround I needed to make it work with my setup.
Here's what that looked like on the Mac:
It worked, but it took a lot of effort to get there. And the interface was still a long WhatsApp message.
I'd spent a long time getting this far, and it was good enough. So I kept using it.
When the MVP needed to become a product
Then came GPT-6 Astra, and I started creating more automations for myself. With GPT-6.1 Sol, turning that workflow into an app finally felt within reach.
Over time, replying to a long email or WhatsApp thread every morning got annoying. Sometimes an email arrived in the middle of the day that I wanted to filter right then. Waiting for the next morning's recommendations wasn't good enough anymore.
I also didn't have a clear decision log or an easy way to undo a choice. I wanted a persistent interface where I could check what had happened and know how to change my mind. Something familiar I could come back to whenever I needed it.
This felt like a classic product manager moment. I'd built an MVP that solved my problem. Using it showed me what it needed to become. I needed to productionize the WhatsApp workflow. And so I thought: I want a HEY-like experience.
I told Codex what I wanted and answered its questions. I gave it access to my existing setup: seven or eight accounts, Gmail, Airmail, filters, and all the email history I wanted to keep. I tried what it made and told it what felt wrong.
Now I can review recommendations, keep a sender in my inbox, or leave a decision for later. I have a decision history I can return to and a ten-second Undo window to cancel queued actions before they run.
Two choices make a big difference:
- Apply adds a permanent filter for that sender or condition. Matching future emails get filed automatically, and the rule is applied to existing messages too.
- Move once files only the displayed thread. It doesn't decide what happens to the next email from that sender.
In Review, I can swipe right to Apply, or swipe left and choose a destination for a one-time move.
The Screener is for new or still-undecided mail. Important senders I choose to keep stay in my Gmail inbox without being repeatedly suggested for filtering. I still use Gmail for reading and search.
I've gone from an MVP in WhatsApp to an app I use every single day. I didn't fuss with servers, deployment, or security. I generally knew what needed to happen. I asked Codex to do it, and it did, without much assistance.
Bring your mess
Underneath that interface, the backend is still really messy. It's multiple email accounts, a Mac running Airmail, automation scripts, and a web interface tying it together. It's probably not the cleanest way to engineer this. And that's almost the point: it works with the setup I already have.
I didn't need to move everything to a perfectly designed system first. I could bring my mess, my requests, and my existing habits, and build something useful around them. I think a lot of people will want that.
My next step will probably be to ask Astra to rethink the backend so it works reliably in more setups. I'd like to deploy something like this for my parents. I don't expect them to maintain email filters or understand the machinery underneath. But I know they'd use this front end. They'd understand the decisions it asks them to make.
I have no plans to release the app as a product. I wanted something built to my own spec, around the services I already used. Now I have it.
I built this within the usage limits of a $20-a-month ChatGPT Plus plan that includes Codex, in under a week. Maybe thirty minutes a day, chatting with Codex while I ate dinner. This wasn't the focus of my attention. I already had the Mac and email setup; the amount of engineering I personally needed to do was tiny.
It took a few years to get from that Bilingual Siri post to Codex. The recording above is from March 2026. Now I have a deployed app that feels like something I could publish if I wanted to.
I think I know we're headed towards a world where people can have the software they want, when they want it, almost instantly. The gap between describing an idea and having something useful that other people can use is almost meaningless at this point.
What I love is that I didn't have to wait for someone to create the exact product I wanted. Versions of this exist all over the place, but I hadn't found one that combined the things I wanted. Maybe there's no economic incentive for someone to build that exact combination. And that's perfectly okay. Now I can just do it myself.
You can play with the demo below. Try reviewing a message, changing its destination, or moving it once.