Mainstream reading trackers haven't meaningfully evolved in over a decade. They turn reading into a dataset to chart, not an experience to feel. None of them do anything with the actual words a reader jots down while reading. As a marketing professional wanting to build something end to end myself, I kept hitting the same gap: I write short reflections while reading, and every tracker I'd tried just threw that text into a list and forgot about it.

What it does?

furtherbook is a reading journal for iOS. Users add books, track progress, and write short reflections tagged with one of nine moods, turning a reading log into an emotional archive instead of a checklist.

The core feature is the Weekly Wrap. After a user completes a 7 day reading streak, the app takes their own note excerpts from that week and turns them into a short AI written literary reflection. It's not a stats summary, it's writing built from the user's own words, paired with an AI generated themed background image and composited into a shareable beautiful card. Notes and Wraps both render natively as Instagram Story format images, so sharing is a built in growth loop rather than something bolted on afterward.

How we built it ?

I designed the screens in Google Stitch Ai & Figma first, then moved into Xcode and built the whole client in Swift and SwiftUI with Claude Code as a coding partner. Supabase runs the entire backend: Postgres for data, Auth for sign in, Storage for images, and Edge Functions for anything that needed to run securely server-side, all protected by row level security. Book data comes from a commercial-use-licensed metadata API. The AI pipeline uses one API to generate the Weekly Wrap text and another to generate the themed background image, both gated behind explicit user consent. RevenueCat sits on top of StoreKit 2 to handle subscriptions with a customized and localized paywall screen. Monetization runs through a subscription SDK on StoreKit 2 with a single Pro entitlement across monthly and yearly plans.

Challenges we ran into:

A missing translation on the RevenueCat localization page was causing the paywall screen to display the default version instead of the custom one; identifying the source of this issue was difficult because it wasn't the first place I checked. It would be helpful if RevenueCat issued a warning when saving the paywall screen if there are untranslated items within the localization settings.

The book data provider had to be migrated mid build after discovering the original provider's limitations for commercial use which was incompatible with a paid app. Rebuilding the search and cache layer around the new provider meant redesigning the caching strategy from scratch.

Getting the Weekly Wrap to feel like a keepsake instead of a stats card also took real iteration. An early version leaned too heavily on numbers before the approach of turning notes into a reflection became the actual differentiator.

Accomplishments that we're proud of:

Shipping to the App Store solo, with a real working AI pipeline that chains two API calls, is gated behind consent. Also proud of genuine account deletion, which most indie apps fake. Real localization built as a first class system rather than a translation layer bolted on afterward.

What I learned ?

Having an AI feature is a low bar on its own. The real differentiation came from making the AI output feel like it belonged to the user, built from their own words rather than generic summarization.

What's next for Furtherbook: Reading Journal

Currently under evaluation are real server-sent push notifications since the app is local-only today, a Weekly Wrap share to earn loop, barcode scanning to add books, integration of analytics tool such as Posthog and expanding language support further.

Built With

  • claudecode
  • figma
  • googlestitchai
  • ios
  • openai
  • replicate
  • revenuecat
  • supabase
  • swift
  • swiftui
  • xcode
Share this project:

Updates

Submission history