Skip to content

Projects

Most of these projects share a common thread: how can AI be used inside an app in a way that genuinely adds value?

Ditto That

July 2026 – currentdittothat.app (opens in a new tab)

A private journal that helps connect friends and family who live across distances, by surfacing the things you have in common ... with a twist.

Ditto That is a private journal for people who love someone who is separated by distance: a sibling in another city, a parent overseas, a long distance relationship, the friend you see twice a year. At a distance you lose the small stuff and only hear the headlines.

You each note small things from your week, like what you listened to, read or cooked, or where you went. When the two of you happen to overlap, the app tells you: You and Sam both listened to Big Thief this week. Your writing never reaches the other person. The app just gives you a reason to get in touch that isn’t “hey, how are you”.

Keeping in touch usually relies on someone deciding to send an update, and that initiative is what a quiet relationship runs short of. A coincidence is an easy reason to reach out, and I wanted to test whether software, with AI, could create more of them.

Every key decision protects trust. Only you see your overlaps, so no one is made to feel they owe a reply. Only the name of the shared thing passes between you, never your words, and the database enforces that rule rather than the app code. Matching is plain, predictable SQL. AI only pulls items out of what you write, because a model that reads both people’s journals is too much to trust. And when nothing is worth saying, the app says nothing rather than show a weak match.

The project is still in progress, but it’s already taught me something. I assumed the biggest risk was people not logging enough for the app to find anything in common. When actually it’s that they log different things. Two people can each log dozens of albums and never pick the same one. That’s why I dropped a feature I was keen on: letting people create their own categories. More personal categories would have meant more logging but fewer matches, because one person’s categories rarely line up with another’s.

So instead of only waiting for coincidences, the app is designed to make them more likely. If Sam logs a book, I might later be asked, “Read anything good lately?” The question points to the category, never the item, because “Read any Murakami?” would give away what Sam logged. Only a subset of the questions are based on what the other person has been doing, so the pattern of questions can’t give anything away either.

Back to the top ↑

Kalide

April – currentkalide.ai (opens in a new tab)

An AI-powered reflective companion that maps the pattern only your life makes.

The Kalide landing page: the name and tagline beside a phone showing the app’s home screen.

Kalide is an AI companion that gets to know you over time. It builds a picture of who you are, including your interests, skills, experiences and everything in between. It uses that picture to help you reflect, notice patterns and think through decisions. It’s for people with many different threads in their life who want to see how those threads connect, without being sorted into a personality type.

The main product is an iOS app with three parts: an AI companion, a Constellation that maps your life as a growing network of connected interests and experiences, and Chapters, where you track the threads that matter. Kalide started as a free web tool called Discover Your Kalide, which is still live. You answer a questionnaire that takes about 10 minutes and get six cards about yourself: a one line summary, what makes you rare, connections you hadn’t noticed, possibilities worth exploring, an old interest that still matters, and one honest truth. Feel free to try it at kalide.ai/discover (opens in a new tab).

Kalide started from the idea that every interest you’ve picked up, every skill and every path you’ve tried, including the ones you set aside, is part of a pattern no one else has. The name comes from kaleidoscope. Turn the same pieces a little and a new pattern appears.

People today have more paths open to them than ever: more careers, more interests and more ways to live. That freedom is exciting. It also makes it more valuable to understand what ties your own choices together.

I wanted a tool that could show people that pattern. Personality tests and career quizzes tend to simplify people into a type or a ranked list of jobs. Kalide holds on to what you share and helps you see how the pieces connect and what they might be building toward.

AI is especially good at one part of this: spotting connections across a lot of information about one person, including links that person would never have made. Kalide doesn’t tell you who to be or what to do. It shows you your pattern and leaves the meaning to you. See more at kalide.ai/about (opens in a new tab).

Kalide is still in progress, but it’s already taught me a lot. Here’s what stands out.

Designing for AI written content comes with its own challenges. My card designs looked great with sample text, but real AI output varies in length and kept breaking the layouts. The fix was to treat the design and the AI as one system. Every text box got a minimum and maximum length, and the AI was held to those limits.

An insight is only as good as its evidence. It’s easy to get an AI to write something about anyone that sounds deep, like a horoscope. The hard part is being specific and valuable. Every observation Kalide makes has to trace back to something the person actually said. If someone’s answers are too thin, the tool says so instead of inventing a portrait.

Honest and kind is harder than either one alone. AI models lean toward flattery. The honest truth card had to be direct without being harsh, so I wrote explicit voice rules for it. One is a firm safety rule: never repeat someone’s harsh words about themselves back to them. In a product like this, tone is a safety feature.

A product that improves over time still has to be good on day one. Kalide gets more useful the more it knows you, but a new user has given only 10 minutes of answers. The free tool had to deliver a complete, satisfying portrait from that alone. In the app, anything without enough information to form something valuable shows as “still forming” instead of being padded with generic filler.

Memory is both the value and the risk. The more an app remembers about you, the more you need to see and control what it keeps. Kalide doesn’t store raw questionnaire answers. You can ask it to avoid topics and review those requests later, and you can mark a connection on your map as “doesn’t fit”. Trust had to be designed in from the start, not added later.

A map of a person has to change without feeling unstable. The Constellation grows with every conversation. If the stars rearranged themselves each time, it would stop feeling like yours. Existing stars keep their positions, even across devices, and new ones appear near related ones. Things you haven’t returned to in months fade gradually instead of vanishing. A visually tiered map with components with weightings that fade in and out as you zoom in and out reinforces this concept. A visual that keeps changing needs landmarks.

The order of the results is part of the design. The six cards are a sequence, not six separate outputs: recognition, what makes you distinct, surprising connections, possibilities, a tender look back at something you let go, and one honest truth to finish. I learned to design and review them as one arc. Intentional design quickly became a key part of the development of Kalide.

Back to the top ↑

Library of Small Notes

September 2026libraryofsmallnotes.com (opens in a new tab)

An online library where the books can’t be read, they only hold anonymous notes left by strangers. To open a book you must first write a note of your own.

The Library of Small Notes: wooden shelves of titled books, grouped under labelled sections.

Library of Small Notes is an online library where none of the books can be read. Each book can hold one anonymous note left by a stranger, and the only way to open a book is to write a note of your own first. If the book is empty, your note stays there for the next person. If someone else’s note is inside, you can keep it and leave yours in its place, or put it back and try another shelf. You can’t take without giving, so the library only ever grows.

A small, creased slip of paper covered in neat handwriting, on a plain white surface. The lines that show are about music the writer has been listening to.

The idea started with a real note that I found tucked inside a book I picked up from the library. It opened with “Hello stranger”. Someone had left it there on purpose, for whoever opened the book next. That small moment of connection with someone I’d never meet gave me the idea to build a place where it could happen to anyone.

I wanted it to feel like the opposite of a social feed: slow, anonymous and built around giving before taking. Most of my decisions were about protecting that feeling.

A big part of this project was learning how to handle words from strangers. A quick first check catches phone numbers, emails, links and street addresses. Then an AI check reads the note. If the check fails or gives an unexpected answer, the note isn’t approved. Daily limits also stop people from testing the filter over and over. When a note is rejected, the writer gets a kind explanation and keeps their text. For notes that imply harm or indicate that someone isn’t ok, the user is led to a page with helplines instead of an error message.

Back to the top ↑