1
6 Comments

Why I built a 'dumb' reading app in the era of AI and Social Feeds

TL;DR: I built a reading app that intentionally lacks "features" (no store, no social, no accounts) and focused entirely on native iOS mechanics and file ownership. Here is why I think the "Universal App" approach is wrong for niche tools.

The Context

I’ve been building justRead, an EPUB reader for iOS. The eBook market is crowded with apps trying to be the next Netflix or Goodreads—pushing subscriptions, social algorithms, and proprietary ecosystems.

And AI.

I decided to go the opposite direction. I wanted to build a tool, not a platform. Here are the 3 controversial architectural decisions I made, and why I think they are the right business move for a solo founder.

1. The "No Import" Architecture (Files vs. Database)

The industry standard for retention is Lock-in. Apps want you to import books into their database so it's hard for you to leave.

  • My Approach: I built the app to read directly from the user's iOS File System (iCloud Drive/On Device).
  • The Technical Trade-off: This is harder to code than a standard SQL database import because you have to handle file permissions and cloud syncing states in real-time.
  • The User Benefit: Users own their data. If they manage their library in Calibre on PC, it auto-syncs to the phone. No "Send to Device." No duplication.
  • The Business Bet: Power users (my target niche) value ownership over convenience. They are tired of their books being held hostage.

2. Native SwiftUI vs. "Write Once, Run Everywhere"

As a solo dev, the logical choice was Flutter or React Native to hit iOS and Android simultaneously. I chose native SwiftUI.

  • The Reasoning: In a utility app, "feel" is the product. The 200ms lag in a non-native interaction breaks the flow. I wanted to leverage native iOS behaviors (Haptics, Dynamic Type, System Animations) for free.
  • The Result: The app has zero "learning curve" because it mimics Apple's own design language (Apple Books/Notes/Safari). It feels like from Apple.

3. "Dumb" Orientation (Ignoring the Accelerometer)

This is a small UX decision that highlights the philosophy. Most apps auto-rotate. I disabled auto-rotation by default.

  • Why? Reading is a flow state. A user shifting in bed shouldn't trigger a layout change.
  • The Lesson: Sometimes "smart" features are just interruptions. Giving users manual control (locking to portrait/landscape) is often better than trying to guess their intent with sensors.

The Ask

I’m currently in pre-TestFlight. I’m curious to hear from other devs:

Do you think prioritizing "User Ownership" (no database/lock-in) is a viable moat against major competitors, or am I just making it too easy for users to churn?

Do you think mimicking Apple design UI is better than creating a super-duper UI by yourself?

I wrote a deeper dive on these design choices here: Why We Built justRead This Way

Link to project: https://justread.app

posted to Icon for group Developers
Developers
on January 7, 2026
  1. 1

    I wonder how many people have a library of epub's they maintain? If that's a real niche, then almost by definition you have a "moat" against competitors.

    1. 2

      There are about 1 700 000 people, who use Calibre for management. I hope those and similar are the ones for me.

  2. 1

    I really like this angle — in a world where so many tools try to be everything to everyone, simple focused tools often win by solving one clear pain.

    From a dev perspective, the cost of complexity is real: more surface area to break, harder onboarding, higher cognitive load for users. Sometimes the best product is the one that never has 20 features, just the one that works reliably and predictably.

    Curious — did you find that focusing on “dumb but useful” actually made it easier to iterate or get feedback from early users (vs trying to build something more ambitious right away)?

    1. 1

      Hi mrHarsh, for now I have feedback just from colleague, friend and family. They are all readers, but they are not strangers.
      TestFlight is starting in next 14 days, and I hope I will get a constructive criticism to make the app better.
      Also, PostHog is implemented from start as I want to iterate the app not by thinking what should be done, but to have real data and stats on what should be done.
      I am personally 15 years knee deep in development for factories (manufacturing software), and I am a "data and statistics" man, I simply love data and stats.
      So stats will be a big part of this app, but I do not want to overdone it, as I can generate a lot of stats. And that is also why I hope PostHog will help me to sharpen this and get rid of features people do not use or use the least.

      And as for your last question: especially in "manufacturing" I find that "the simpler the better" is much more useful that clog the software with a ton of features. People are different and I want to find the least common denominator for people to use the app without thinking about using it.

      Have a nice day

      PJ

      1. 1

        That’s a very grounded approach — especially coming from manufacturing software, where complexity has a real operational cost.

        Starting with friends/family for usability, then switching to strangers for behavior signals via TestFlight + PostHog, is a solid sequencing. The fact that you’re explicitly watching what people stop using (not just what they touch once) already puts you ahead of most early apps.

        One thing I’ve seen work well in “simple tools” like this is defining a single non-negotiable core action (the thing that must happen repeatedly for the product to exist), and letting PostHog ruthlessly prune everything else that doesn’t support it.

        Your framing around least common denominator usage + predictable behavior feels very aligned with that. Looking forward to seeing how the TestFlight data sharpens it.

        1. 1

          Hi, thank you for the response, I too am looking forward to TestFlight as this will be my first one and I don't know, what to expect at all.

Trending on Indie Hackers
What's the point of AI generated comments? User Avatar 43 comments Why can't your target customers always find your product? - Experience sharing User Avatar 17 comments The exact prompt that creates a clear, convincing sales deck User Avatar 12 comments You roasted my MVP. I listened. Here is v1.3 (Crash-proof & 100% Local) User Avatar 5 comments The hardest part of building in public isn’t shipping. User Avatar 4 comments