Inspiration

Reading books can feel overwhelming, especially when you’re trying to build a consistent habit or read something above your current level. We wanted to make reading feel less like a task and more like a guided learning experience.

Folio was inspired by the idea of combining the progression and feedback of language-learning apps with the freedom of reading real books. Instead of simply opening an EPUB and figuring out what to read next, Folio turns a book into a structured reading journey.

What it does

Folio is an Android app that transforms EPUB books into a structured, Duolingo-style reading path.

Instead of presenting a book as one large document, Folio breaks it down into a progressive learning journey based on the book's structure and reading difficulty.

Users can:

  • Import and read EPUB books.
  • Follow a structured reading path instead of navigating a large book manually.
  • Progress through chapters and reading levels.
  • Track their progress as they move through a book.
  • Continue their reading journey across sessions.

The goal is to make reading more approachable, structured, and motivating.

How we built it

Folio is built as a native Android application using Kotlin and Jetpack Compose, with Room for local data storage.

The backend is built with Node.js, TypeScript, and Fastify, with MongoDB Atlas for storing book metadata and application data.

We use Firebase Authentication for user authentication and RevenueCat for subscription management.

A key design decision was keeping the backend focused on metadata rather than storing the actual ebook content. Each book can be represented through metadata such as its title, author, reading structure, word counts, and a SHA-256 hash.

This allowed us to keep the architecture relatively lightweight while keeping the actual reading experience primarily on the device.

Challenges we ran into

One of the biggest challenges was turning an EPUB, which is fundamentally a flexible document format, into a consistent and structured reading experience.

We had to think about how to extract useful structure from books while still preserving the original reading experience.

Another challenge was deciding what information should live locally on the device versus what should be stored on the backend. We wanted reading to remain fast and reliable while keeping the backend minimal.

We also had to design the progression system so that it felt natural rather than simply turning a book into a list of chapters.

Accomplishments that we're proud of

We're proud of turning a familiar format like EPUB into something that feels fundamentally different from a traditional ebook reader.

The biggest accomplishment is the core reading-path concept: instead of treating a book as a static document, Folio treats it as a journey that users can progressively move through.

We're also proud of building the application as a native Android experience with a modern Kotlin and Jetpack Compose stack while keeping the backend architecture lightweight.

What we learned

We learned that building a good reading experience involves much more than displaying text.

The structure of the content, progression, feedback, and small interactions all influence how approachable a book feels.

From a technical perspective, we also learned a lot about working with EPUB structures, balancing local and server-side data, and designing a product where the majority of the experience can happen efficiently on the device.

Most importantly, Folio reinforced the idea that existing content formats can become much more engaging when they're paired with thoughtful product design.

What's next for Folio

The next step for Folio is to make the reading journey more intelligent and personalized.

We want to explore adaptive reading paths that can adjust based on a user's progress and reading ability, along with better comprehension features, vocabulary assistance, and personalized recommendations.

We also want to continue improving the reading experience itself and make Folio feel less like an ebook reader and more like a personal guide for becoming a better reader.

Built With

Share this project:

Updates

Submission history