Inspiration

I originally come from a marketing background. For years, I always dreamed about creating something of my own, but I lacked the technical knowledge to make it real. Later I moved into Java development, which gave me a strong technical foundation, but I still had the curiosity of building something end-to-end by myself.

The trigger was RevenueCat’s Shipaton. It motivated me to finally take a step forward and commit to building an app I had been thinking about for a long time.


What I Learned

About a year ago I started learning SwiftUI in my free time, but this year I decided to go all-in. I took an express course, spent weekends reading documentation, and used online resources, code snippets, and AI tools as my tutors.

I learned that:

  • SwiftUI is very powerful once you get past the initial confusion.
  • Building for iOS requires understanding not just the code, but also certificates, provisioning, TestFlight, and App Store Connect.
  • AI can be a great teacher if you’re patient enough to ask the same question 20 different ways.

How I Built It

The idea for Notori came from a real-life problem:
Most people I know (myself included) use their WhatsApp/Telegram self-chat to save random things — links, shopping lists, work notes, reminders. The problem is: you can never find them later. It’s chaos.

So I decided to build a smarter self-chat:

  • SwiftUI for the UI
  • Core Data + CloudKit for sync
  • Gemini + OpenAI for AI-powered organization
  • RevenueCat for subscriptions and monetization

Notori takes whatever you type or speak and organizes it automatically into reminders, notes, events, or categorized links.


Challenges

  • Starting from the roof down: I tried implementing Core Data + CloudKit syncing before even understanding Swift optionals. Not recommended. 😅
  • Constant rewrites: My chat UI was rebuilt 4 times as I learned better architectural patterns.
  • App Store headaches: Certificates, provisioning profiles, TestFlight… I had no idea how to even run my app on a real iPhone at first.
  • Monetization research: I didn’t want to overcharge, but I also didn’t want the app to die from server costs. I spent time analyzing how indie developers price their apps to find a fair balance.

Conclusion

This project started as something for myself and my friends, but I believe I’ve found a real problem that many people face — losing information in their self-chats.

Notori is just the beginning.
I know there are many bugs to fix and improvements to make, but I’m proud to have built something from scratch, moving from marketing → Java → SwiftUI, and finally launching an app that solves a problem I care about.

Built With

Share this project:

Updates