Unlimited Free Scans

iOS-style one-time passcodes, now available for macOS

Learn More & Download

Introducing Message Decoder

I spent all of 2023 creatively exploring possibilities for future personal computer operating system shapes and features. Notification systems were a central theme of the work, and for good reason: attention is our most valuable resource, and especially at our computers where we sit down to do our lives’ work pushing forward the story of the human race in each of our own ways.

macOS has a simple set of controls for notifications: Do Not Disturb turns them on/off system-wide, Notifications Permissions turn them on/off per application, and Focus Settings automates changes to those controls based on some very simple heuristics. They fit into Apple’s minimalist aesthetic, and they leave millions of Mac users stuck choosing between staying in flow and staying in the loop.

After obsessing over them for months, I believe the big problem today is notifications controls ignore the content of the notifications themselves and ignore the context of the user when considering which notifications to display.

I had some ideas for what the next generation of notifications on the Mac could be like, and turning those into prototypes led me down the path of deeply integrating with the macOS Notification Center.

I built programs that tracked when notifications arrived, both in Do Not Disturb and not, parsed the notifications content, controlled where and when they appeared on the screen, and automated interacting with them including opening their attachments and dismissing them from the queue.

It took weeks of careful reverse engineering, and as everyone who’s ever spent an extended period of time chasing the white rabbit down the hole of creating something new knows, my interpretation of the outside world was warped by the total focus I had on all things notifications.

Meanwhile, especially in the parts of the Internet where software design communities gather, the iOS automation that puts one-time passcodes in a convenient button at the top of your iPhone’s software keyboard kept popping up again and again in my feeds.

Look, it’s easy to minimize the importance of getting back a moment of tapping around on your phone when you’re tracking down a one-time code. And I clocked the effort on my Mac at about 15 seconds, which is a measly quarter of the time it takes to disappoint Missy Elliott!

If you’re a numbers person, something like this is going to fly under your radar. And I don’t know what to tell you to explain feeling seen and how having your needs known and met by your tools can transcend the quantifiable.

But numbers don’t lie. And the millions of people talking about how magically delightful iPhone offering one-time passcodes up as a one-tap feature of the keyboard tells more of the story than the amount of time saved by each tap.


There’s all kinds of ways of relating to art and the artists who make it, and I think creatives all share a common sense of envious wonder at the je ne sais quoi of bringing the new from inside our imaginations into the real world. For example, every music lover I know knows all too well the feeling of “I wish I wrote that song” when they hear a tune that hits all the right notes in their hearts.

So there I was, toiling to unravel the secrets underpinning the Mac’s notifications and it felt like everyone everywhere was raving about how cool iPhone’s one-time passcode feature is. I wish I wrote that. Then at some point in the midst of all that, a one-time passcode arrived while I was signing into my bank’s website on my Mac.

I moused over to open a new tab with my email inbox, scrolled to find the message with the one-time code, clicked, dragged to highlight, copied, moused back to the log in tab, clicked, pasted. What the hell? What am I doing? I thought this chore was automated? Everyone raves about how awesome it is that… the iPhone… does this… oh my gosh! I get to write that song!


Safari for macOS is celebrated for many reasons, none of which are related to how innovative it is as a web browser. In fact, for the past several years, most new Safari features get previewed in early developer builds of the next version of macOS at WWDC and are lambasted by developers, critics, and users until they’re slowly stripped away when the public release arrives in the Fall.

Maybe Apple doesn’t restrict their beloved one-time passcode autofill feature to Safari on the Mac as a strategic attempt to put a fig leaf on their system browser getting absolutely pantsed by its competitors both big and small. But it feels true to me that they do, and it’s outrageous to me that they would waste untold millions of moments of Mac users’ time as a cudgel to coerce more people to chose their flailing browser.

I love Google Chrome’s commitment to offering web developers an ever evolving set of APIs to make the Internet an increasingly interesting creative space, and I love The Browser Company’s Arc browser for taking up the user experience torch by building exciting new features around the open-source runtime from the heart of Chrome.

I wrote Message Decoder to make it a little easier for everyone to be a Mac user. Whatever web browser you like, where ever you need to log in with one-time passcodes, Message Decoder brings the most talked about iPhone feature to the Mac and makes the chore of one-time passcodes as easy as pushing paste.


Not all moments are created equal, and though Message Decoder just saves a moment of clicking around here and there, I believe in the power of giving those moments back to as many people as possible because the Mac is an essential partner to so many of the artists whose work lights up my life that I’m thrilled by the creative possibilities those moments might spark.

Today Message Decoder is free with unlimited use for everyone. It gets a little slower each time you use it, and it’s always faster and more convenient than manually tracking down one-time passcodes. Unlimited high-speed scans are available as a paid upgrade for the price of just one New York City Cocktail ($24/year) if you find the waiting annoying or just want to support this solo independent software developer’s effort to fill in the gaps Apple left in macOS.

Message Decoder is a fully native Mac app written from scratch in SwiftUI with a custom CoreML one-time passcode detection model I trained on a corpus of tens of thousands of my own text messages from the last decade. It runs entirely on your machine and your notification data never leaves your Mac which means you don’t need to worry about your data privacy or the service going away in some future “sunset” event.

There’s a lot of discussion lately in the tech zeitgeist about how software products change not in service of their users’ needs but frustratingly often in response to the distortionary pressures of esoteric financial structures. If you’re someone who worries about enshitification, I hope it will come as a relief to know Message Decoder was designed, developed, and deployed entirely by one person, me 👋 hi, and all on my dime.

I’m counting on people like you who want more software made in service of people like you— more than in service of financial markets— to support Message Decoder by sharing it with everyone you know who could benefit from some more free moments with their Macs. And if you feel moved to upgrade to the paid plan, I’d certainly be grateful to you for helping to feed my large pet dog and non-working coworker, Winnie.

Message Decoder is available today for Intel and Apple Silicon based Macs running macOS 11 or later. It makes using one-time passcodes up to 15X faster— plus a whole lot more delightful— and I’m so excited about all the potential creative sparks that will fly putting those moments back in your timelines.

Visit MessageDecoder.com Winnie and me at work