Skrolla
In ProgressA book discovery app that scrolls like TikTok but is built to do the opposite of what TikTok does. Swipe through book covers, get hooked on one, and it points you at the actual book instead of trying to keep you scrolling.
A lot of people want to read more but never actually pick a book. They wait for something to grab them and it never does, because nothing is putting new books in front of their eyes the way a feed puts new videos in front of their eyes. Skrolla flips that. It looks like a short-form video feed and scrolls the same way, but instead of clips it's book covers, and instead of trying to hold your attention forever, its whole job is to spark enough curiosity that you go read the actual book.
You scroll a feed of covers the way you'd scroll Reels or Shorts. Something catches your eye, you tap in, and you land in a chat with an AI about that book, spoiler free by default so it only gives you enough to get you curious, not enough to ruin the ending. If you want more, you can turn spoiler mode on and go as deep as you want. From there you can turn the conversation into a small saved card, a compact summary you can come back to later without rereading the whole chat.
The recommendation engine is the part I'm proudest of, since it's the piece with actual machine learning behind it rather than a simple genre filter. Every one of the roughly 106,000 titles in the catalog, pulled from Goodreads, NYT bestseller lists, and AniList for manga, gets turned into a 1152-dimensional vector: a CLIP model reads the cover art for visual style and genre, and a sentence transformer reads the title, author, and description for tone and theme, and the two get combined into one embedding per book. As you scroll and dwell, save, or skip titles, the app quietly updates a taste vector in that same space, and a Supabase pgvector search pulls back the next batch of books that are close to it. The feed is built to explore first and personalize second, so it keeps surfacing books outside what you already like instead of narrowing down to a small loop of the same five genres.
Right now Skrolla is in closed testing on Android. All nine screens, from onboarding to the For You feed to the chat and library, are built and working, and I'm in the middle of wiring the app over from bundled sample data to the real Supabase backend so the recommendations run on live data instead of a fixed local set.
How it works
Every book in the catalog gets embedded twice: a CLIP vision model reads the cover for visual style and genre, and a sentence transformer reads the title, author, genres, and description for theme and tone. The two embeddings are combined into one 1152-dimensional vector per book.
As you scroll, the app watches how you interact with each cover: how long you dwell on it, whether you scroll back to it, whether you save it or skip past it fast. Those signals continuously update a taste vector that lives in the same embedding space as the books.
A nearest-neighbor search against that taste vector, run through Supabase's pgvector, pulls back the next batch of books to show you, refreshed in the background as you keep scrolling.
Tapping into a book opens a chat with an AI, spoiler free by default, that you can use to learn about the book, ask questions, or turn the conversation into a saved summary card.
The app itself is native Android, built with Kotlin and Jetpack Compose in an MVVM architecture.