---
title: "Welcome to the age of personalized software"
description: "SanityPress creator Mitchell Christ on how AI agents let anyone build software for their exact needs, from iPhone widgets to niche macOS and Shopify apps."
---

For most of my life, using software meant finding the closest thing to what I needed and adapting to it.

That’s changing. More and more of the software I use is built for exactly one person or one business, by an AI agent working from a plain description. I think that’s where agentic engineering is heading: not just faster ways to build the same products, but software that is personal by default.

Here are a few examples from my own work, and an honest look at what still takes effort.

**Main Points**

- AI agents let you build custom tools by describing what you need and reacting to the results, often without writing code yourself.
- My iPhone widgets, a SanityPress module upgrade, a macOS menu bar app, and a client’s Shopify app all started as “I wish this existed.”
- It isn’t effortless. Clear direction, iteration, and review still decide whether the result is any good.

## My home screen, built over chat

I wanted to see my AI usage limits at a glance. I juggle two Claude accounts (work and personal), Codex, and Cursor, and none of them offers a public usage API, so no off-the-shelf app combines them.

So I asked my Grok Bot to build a widget with [Scriptable](https://scriptable.app), an iOS app that runs JavaScript widgets. I wrote no code myself. I described what I wanted, reacted to previews and screenshots from my phone, and the bot generated and revised the script. The widget shows circular gauges for each service’s 5-hour and weekly limits, with time until each resets. It runs entirely on my phone, with no server in between.

![Two iPhone home screen widgets built with Scriptable: a medium AI usage widget with circular gauges for Work, Personal, Codex, and Cursor limits, and a small “24AND95” GR Supra widget with a tachometer-style gauge and a car render.](https://cdn.sanity.io/images/cyu7k2r0/production/c83c15e320d7d108887270e9610537f7d6d61fad-896x1044.png)

*[TBD: final screenshot and caption — Mitchell is replacing this image]*

The widget I’m happiest with is the small one beside it. It’s a tachometer replica of my 2024 GR Supra’s instrument cluster: the needle shows months owned, the center number shows years, and the months and days sit beside it. It shows my plate text and the car itself. I grabbed frames of the Supra from the official Toyota site, and the widget rotates through 36 angles every 20 minutes. There’s no telematics; it calculates everything from my purchase date.

We built it from scratch in one session. I took a photo of my car’s actual dashboard so my Grok Bot could replicate the tachometer UI and fonts, had it generate different layout variants for me to pick from, then gave dozens of small directions. No app store would ever sell this widget. It’s one car, one plate, one timeline, and my own idea of how it should look. Unfortunately, I wasn’t able to find a way to pull in mileage or gas tank data from my car (BMW seems to have deprecated the connection piece last year 🙃).

I’ve since added widgets for sports (Dodgers, F1, Oregon Ducks), the Pokémon Champions meta, and a world clock starring the Turbo Granny cat from the anime *Dan Da Dan* (for my mom, actually). [As I said on X](https://x.com/marutchell/status/2109115108366671954): “Built and polished entirely over chat.” The [Supra](https://gist.github.com/nuotsu/65e0c3dabcddca9e87e7ba7b834904b7), [AI usage](https://gist.github.com/nuotsu/c5ec8065e9b019ba0f3227db208648dd), and [sports](https://gist.github.com/nuotsu/69c390a268c5ec0f7a22b633e4ae6408) widgets are public gists.

## One prompt, one new capability

[SanityPress](https://sanitypress.dev) is my open-source Next.js + Sanity page-builder template. Its Card List module shows a grid or carousel of cards, each with an optional image or icon, rich text, and calls to action.

I wanted cards that could hold HTML animations, a trend I’ve been seeing quite a bit on other sites. SanityPress already had a Custom HTML module that renders HTML, optional CSS, and embedded scripts, but cards couldn’t use it. With a single Claude Code prompt, I got a change that lets editors add Custom HTML blocks directly inside a card’s content, updating the schema, the component, and the generated types. You can see the result on the [Card List module page](https://sanitypress.dev/modules/card-list).

It’s the kind of small change I used to put off. Now I describe the outcome, review the diff, and move on.

## A menu bar app for exactly my workflow

My client work means managing a lot of Shopify stores, so I built a small macOS menu bar app for it.

[StoreFront](https://storefront.nuotsu.dev) puts any Shopify store’s admin one click away, with deep links to sections like Products, Orders, and Themes, keyboard navigation, search that lands on a filtered admin page, and CSV import of shops. It doesn’t call the Shopify API or store credentials; it just opens admin URLs in your browser using your existing login. It’s free and MIT-licensed. It wouldn’t make sense as a venture-backed product, but it makes sense for me and anyone with the same niche problem.

## A discount app built for one store

Personalized software isn’t just for personal projects. For one client, we used ChatGPT to build a custom Shopify app that handles bundle discounts the way that store needs them to work, instead of paying for a third-party app that usually comes with limited customization.

It does one job, for one business, with nothing extra to configure around.

## What personalized software still asks of you

None of this means anyone can ship anything with zero effort. I still had to know what I wanted, notice when something looked wrong, and keep giving direction. The Supra widget took dozens of small corrections.

What’s changed is who can take part. You no longer need to know how to program to build a tool for yourself. You do need taste, patience, and a willingness to iterate.

## Frequently asked questions

### Do you need to know how to code?

Not necessarily, but understanding the code helps a lot, and so does a strong foundation. An agent working in a clean codebase follows good patterns; in a messy one, it makes more mess. Garbage in, garbage out.

### What are the limitations of building personalized software?

You still supply the direction, taste, and review. An agent can only use data it can reach (I couldn’t get mileage or fuel data into my Supra widget). And anything touching real customers needs testing first.

### What are the benefits of building personalized software?

You get exactly the tool you need and nothing you don’t. Instead of paying for a third-party app and working around its limits, you get something shaped to your workflow that you can change anytime.

### Does this replace off-the-shelf software?

No. General-purpose products still matter. Personalized software fills the gaps they’ll never cover.

## Build the thing you actually need

The shift I’m most excited about is from searching for software to describing it. The question changes from “Is there an app for this?” to “What exactly do I want?” and “How do I want it to look?” to even “What can I build for other people (clients, coworkers, friends, family)?”

It’s even reaching the operating system: DHH’s [Omarchy](https://omarchy.org) is a Linux setup configured through plain-text files an agent can read and rewrite, and his [conversation with Lex Fridman](https://www.youtube.com/watch?v=NYFGCESmikA) makes the case for vibe coding your own OS.

That’s the future I see: people who never thought of themselves as programmers building software for themselves. A widget for one car. A world clock for one mom. Software stops being something you settle for and becomes something you shape.

If you want a website shaped around your business instead of a template you settle for, give SanityPress a try.

[Check out SanityPress](/)
