Case study

LetsRead — books off the shelf, into readers' hands

A neighbourhood book-sharing app that turns unused shelves into local handoffs — free or low-price listings, distance-sorted discovery, and chat to arrange pickup. Live on App Store and Google Play.

Type
iOS + Android app
Category
Book marketplace
Stage
Live on both stores
Publisher
York Stream Technologies

Background

Physical books still matter — for students who cannot afford new copies, neighbours decluttering shelves, and readers who want paper over screens. Most book platforms optimise for shipping cartons or digital reading, not for a short walk across the neighbourhood.

LetsRead was built as a reading movement: keep stories circulating locally, free or low-price, with a human story attached to each copy.

Problem statement

Readers and sharers need a clearer way to:

  • list used or new paper books without marketplace friction
  • discover affordable copies within walking distance
  • arrange pickup through chat instead of courier logistics
  • pass along why a book mattered — not only title and price

Goals

Product

  • Ship a dual-store local book marketplace
  • Make listing fast via barcode or manual entry
  • Prioritise distance-sorted discovery over shipping

Experience

  • Keep the loop simple: list → discover → chat → handoff
  • Support Voice Capsules as optional emotional context
  • Make categories and search equally usable

Reach

  • Localise for the Baltics and beyond (13 languages)
  • Welcome students, neighbours, and booksellers alike
  • Foster reuse culture and reading access

Approach

Listing model

  • Barcode / ISBN scan or manual title–author entry
  • Free or paid pricing with condition and category
  • Optional Voice Capsule (short voice note for the next reader)

Discovery model

  • Latest feed and distance-sorted Nearby
  • Category grid plus title/author search
  • Listing detail with price, stars, location, and chat CTA

Community model

  • Discussions for reviews and book talk
  • Profiles with recent books and social links
  • In-app multilingual UI for regional growth

UX and design decisions

Local handoffs over shipping

Distance and chat are first-class so the product stays a neighbourhood exchange — not a carton marketplace.

Voice Capsules as optional story

A short voice message lets each copy carry why it mattered without forcing every lister to write long captions.

Barcode-first listing

Scanning ISBN reduces typing friction for shelf declutterers listing many books in one sitting.

13-language localisation early

Baltic and European language coverage made regional expansion a product feature, not a retrofit.

Technical implementation

Cross-platform React Native client with geolocation discovery, barcode scanning for ISBN listing, multilingual strings (13 locales), chat for handoffs, and dual-store release pipelines for iOS and Android.

React Native
TypeScript
Firebase
Geolocation
Barcode scanning
i18n

Trust and store readiness

  • Hosted Privacy and Terms surfaces for store compliance
  • Report listing / audio reporting flows for community safety
  • Account and profile controls for readers and booksellers
  • Store listings with screenshots and localisation assets

Key challenges and solutions

Making local discovery feel trustworthy

Issue

Distance-only feeds can feel empty or spammy if listings lack condition, price clarity, and seller context.

Solution

Standardised listing cards with cover, condition copy, price/free badge, distance, and seller identity — plus chat as the primary handoff action.

Listing friction for declutterers

Issue

Typing every title and author slows bulk shelf clean-outs and causes incomplete listings.

Solution

Barcode / ISBN scan as the primary path, with manual fields and category selection as fallback.

Emotional continuity between readers

Issue

Marketplace UIs often strip human context, reducing trust and reuse motivation.

Solution

Optional Voice Capsules and discussion posts so books carry a story, not only SKU metadata.

Regional language coverage

Issue

A Baltics-first product needed more than English to retain local readers.

Solution

Shipped 13 in-app languages with an in-app language picker as a first-class setting.

Outcomes

  • Live on Google Play and the App Store
  • 100K+ downloads on Google Play
  • Store ratings: 4.0★ Play · 4.8★ App Store
  • 13 languages available in-app
  • Stable loop from list → discover → chat → local handoff
  • Voice Capsules and Discussions for community depth

Product in the hand

Key screens from splash through nearby discovery, listing, Voice Capsule, and community — each designed for local handoffs.

LetsRead — Launch screen
Launch screen — Brand mark over a book-and-coffee lifestyle scene — tone for a neighbourhood reading movement.
LetsRead — Nearby listings
Nearby listings — Distance-sorted feed so the next read is a short walk — not a courier wait.
LetsRead — Latest books
Latest books — Free and nearby titles with condition, price, and seller context at a glance.
LetsRead — Distance filter
Distance filter — Slider to tighten the radius and focus on books you can pick up today.
LetsRead — ISBN scanner
ISBN scanner — Align the barcode to list from your shelf without typing every field.
LetsRead — Explore by category
Explore by category — Arts, Kids, Fiction, Business, and dozens more — tap a category to find the next read.
LetsRead — Voice Capsule
Voice Capsule — Hear why the previous reader loved this copy — then chat to arrange pickup.
LetsRead — Discussions
Discussions — Community posts keep book talk local — likes, comments, and linked titles.

Scroll to explore the product

What's next

  • Deeper neighbourhood growth beyond early Baltics hubs
  • Richer seller tools for local booksellers
  • Retention loops around Voice Capsules and Discussions
  • Continued dual-store localisation and store optimisation

Building a local marketplace or community mobile product?

We help teams ship dual-store products with discovery, messaging, and localisation — the same rigor behind LetsRead.