The Story

In the last decade, I’ve maintained a couple important friendships over voice memos. When a phone call didn’t work, we would send each other a five-minute voice message on what we’ve been thinking about. Because of the asynchronous nature of voice messages, I found myself having deeper conversations than I normally would in a quick phone call. I could replay friends’ messages in order to give more thoughtful replies, and ask (what I hoped were) more engaging follow-ups. Unfortunately, the listening experience in the Messages app was horrible. I knew I could build something better.

Three screenshots of the iOS interface for Kettle, showing the interface for listening to a voice message, viewing your history of a conversation with a friend, and recording a voice message
Listening to a received message and reading the transcript; your conversation history; recording your reply

Kettle’s biggest priority was the audio itself. I did extensive audio processing to make the listening experience as “studio podcast” sounding as possible, including a custom neural network filter optimized for the iPhone microphone to make it sound like your friend was talking to you using a professional level microphone. On top of that, Kettle transcribed, summarized, and organized your conversations. It would highlight notable things for reference. You could also listen in live while your friend was recording.

I launched Kettle in January 2024. I built an experience I was really proud of, but never got more than a few hundred people to use it. I turned off the app and servers in late 2024 to focus my effort on Echo, inspired by the AI features I discovered while creating Kettle.

Short demo of Kettle in action

My Role

  • Design
  • SwiftUI
  • Ruby on Rails
  • LLMs
  • Machine Learning

I designed and built everything. I used SwiftUI to build a native iOS app with a Ruby on Rails backend with realtime audio processing and LLM-based summarization/transcription. I used PyTorch and neural networks to improve the sound quality of the recordings.

What I’m Most Proud Of

Two screenshots of the live listening iOS interface for Kettle. The first screenshot showing the Live Activity showing what your friend is talking about to you. The second screenshot is when you are listening live to your friend in the Now Playing widget.
Live listening and transcription

Building the feature that people ended up using the least: live listening. While your friend was recording, you could listen in from a Live Activity on your homescreen. I was able to get the latency down to six seconds while still keeping the same level of audio quality improvements and transcription. I pushed my technical skills and learned new genres of programming that were brand new to me: neural network training, audio processing, and live audio transport.

The Most Important Lesson I Learned

Kettle was my first attempt at creating a social network, and I underestimated the cold-start network problem. It’s a formidable barrier to entry that requires exceptional value to overcome.

My biggest mistake was playing it too safe with the user experience. While I built a competent utility and messaging app, I failed to offer anything compelling enough to justify the friction of building a new network from scratch. People already juggle multiple messaging apps, and I didn’t give them a reason to add one more. The product needed to be radically better, not just incrementally more useful.