Ask anyone who knows me. I always have an idea. Now, with AI as an engineering partner, I can build them, not just design them.

These are apps I designed, built and shipped myself. Each one started with a problem from my own life or work. They’re simple and private: no accounts, no servers to run, and iCloud keeps everything in sync across devices.

BuySellHold

iPhone

An iPhone stock watchlist built around your own prices.

For years I wanted to track a stock from the moment I started watching it: not what it did over the past month or year, but how it moved once I decided to pay attention. I’d forget what it cost when it caught my eye, and I had no record of the price I’d act on. I’d jot it down or make a mental note, but I always lost the context. In BuySellHold every stock starts with a hold price, plus a low to buy at and a high to sell at. When a price crosses one, the card turns green to buy or purple to sell; otherwise the list stays quiet. It’s like starting my own personal coverage of a stock.

Prices come from Finnhub, using each person’s own free key, kept in the iPhone’s Keychain and sent straight to Finnhub, so there’s no central server. Early versions had an AI assistant built in. It cost money for every question and added a lot of machinery, so I cut it. Now tapping a ticker opens Google’s AI Mode with a prompt already written to start the conversation: “What is the current Wall Street analyst consensus rating (buy, hold, or sell) for Apple (AAPL)?…”

Download BuySellHold on the App Store

Adding a stock, setting its range, then watching the cards turn green and purple as prices cross it. Sample data.

Artifactr

iPhone · iPad · Mac

A private library for prompts, their versions and the best things AI makes.

It started with prompts. I’d write one, test it, tweak it, then try it again in a different AI tool, and I couldn’t keep track of which version did what. The same went for the AI skills I was developing: I needed a better way to organize them and compare their output. Artifactr gave each prompt a home. It’s especially good for image generation: I can iterate on a prompt, compare the results, and keep examples of the output right alongside the prompt that made them.

Then I found a second need: keeping the artifacts themselves. When AI gave me a recipe that turned out great, I saved it, and over time that became a collection. Save text and images with categories and tags, search and filter, and copy or share in a tap.

The more I used it, the more it grew. Iterating on prompts showed me I needed version history, so I added it: every change is saved, and I can go back to an earlier version in a tap. It syncs privately through iCloud, so the same library is on my iPhone, iPad and Mac, and it exports and imports backups so nothing is locked in. I use it every day.

Download Artifactr on the App Store

Opening a prompt, copying it, and going back to an earlier version from its history. Sample data.

Flatbed

Mac · iPhone · iPad

One place to capture every request that comes my way at work.

As a principal designer working with teams around the world, I get requests from everywhere: a Slack message, a Jira ticket, an Aha idea, or someone asking in a meeting. Not every job has a ticket behind it, and the ones that do are scattered across different tools. Despite all those tools, I found myself keeping everything in Apple Notes, a way to organize the organizing tools. It was dead simple, but it wasn’t built for this, and at some point it got very hard to keep up with.

Flatbed keeps that simplicity, tailored to my workflow. I can jot down a request the moment I get it, add the links that go with it, and move it through four stages that match how I work: Exploring, Working, Reviewing and Done. Paste a link and it recognizes Figma, Jira and Aha. I can sort requests by when they came in or when I last touched them.

Using it every day is what shaped it. So many requests come with a screenshot or visual reference that I added drag and drop: pull an image straight onto a request and it’s attached. It’s built in SwiftUI for Mac, iPhone and iPad, with iCloud sync, so a request I capture on my phone in a meeting is waiting on my Mac when I’m back at my desk. And I’ve kept it simple on purpose. Productivity apps tend to grow complicated and bloated, and I didn’t want Flatbed to become one more.

Download Flatbed on the App Store

Opening a request, checking off the last step, marking it done, and searching. Sample data.