Inspiration

The idea started on the subway. I was looking around at a bunch of tired people, all scrolling, thumbs moving up and down without really stopping. It was hard to tell if anyone was actually taking anything in, or just moving their thumb to pass the time.

That stuck with me. For the next two months I kept noticing the same thing everywhere, commutes, waiting rooms, anywhere people had a few empty minutes to fill. So I started digging into screen time apps to understand what was actually going wrong. Most of them just block you, but sometimes you genuinely need to grab your phone. The real problem isn't that you picked up your phone. It's that there was nothing good waiting for you when you did.

I also had my own pile of saved articles and bookmarks I never got back to. Put those two things together, people reaching for their phones with nothing meaningful queued up, and me specifically sitting on hundreds of unread saves, and Nook was the answer: one small, curated digest, always ready, so the choice is already made for you.

What it does

Nook steps in when you're about to open a distracting app, and gives you a short digest instead, just a few things, no endless list to dig through. Read an article, watch a quick video, or put on a podcast if reading makes you sick on the move. Finish something and earn XP. Spend it to unlock the app you wanted. And Nook, the mascot, reacts the whole way, happy with your progress, a little disappointed if you try to skip it. (gamification and future achievement plans)

How we built it

I started with research. I was part of a Product Cohort for engineers, and it gave me a lot of new perspective. I interviewed a few people, and once the beta was ready, I sent it to them too, their feedback helped a lot. This was the first time I did the full product process: problem discovery, a product brief, feature planning, interviews, all of it.

At first, I built everything locally on the iPhone, digest creation, content parsing, all of it. It worked, but not great. So I bought my own AWS server and set up a backend in Python, using open-source parsers to keep everything running smoothly.

For the core business logic, I used Kotlin Multiplatform, with a CI/CD pipeline tied into the iOS project. That way I could enter the iOS category now, and build Android and Web versions much faster later.

Graphics were my weak point. I'm not a designer, so I talked to a friend who is. Starting from a few rough sketches I shared on X, I iterated over 200 times with AI until I found the right look. Then I used AI again to turn the final design into SVG, so Nook could actually react, look at you, blink. Small details, but they made the whole thing feel alive.

Challenges we ran into

Not knowing the timeline rules: When I first met the RC team at Calgary (SwiftRockies), they told me I could already start, something I didn't know. So I ended up doing everything, research, backend, client, in two months. I never got the chance to showcase or promote the app along the way like others did. Unlucky me! Apple's Screen Time API: It's not well documented, and the extensions are heavily restricted. For example, [pending your confirmation on the SwiftUI workaround above]. That cost me a lot of time. Variety of content: To support more platforms, I had to handle both structured and unstructured content. That turned out to be the hardest part of building a clean digest. Perfectionism: I'm unfortunately a perfectionist. Even though I promised myself I'd go easy, it slowed me down more times than I'd like to admit.

Accomplishments that we're proud of

  • Having a full-time tech lead job and still building my own indie app after so many years.
  • Mastering Apple's Screen Time API. It was probably one of the most frustrating parts of the project, but now I feel very confident working with it.
  • Building a powerful core codebase with KMP, hundreds of test cases, a backend, and CI/CD. It made me much more confident in the correctness of the software and gives me a strong foundation for quickly bringing Nook to Android and Web.
  • Using AI without chasing the hype! I wasn't obsessed with latest OpenAI or Claude model. I did most of my AI work with Qwen Flash. Easy, cheap, and it got the job done.

What we learned

  • Prioritizing a product-led approach over an engineering-first mindset pays off!
  • I can now build MVPs more effectively than ever.
  • How to better present myself and my product to the world.

What's next for Nook

  • Team building: I’m looking for people who want to help me build Nook.
  • Marketing, marketing, marketing.
  • Mascot storytelling and achievement unlocks.
  • More platforms to support for digests. Almost there.
  • Web extension.

Built With

Share this project:

Updates

Submission history