Work

What we've shipped

A complete, live product we took from a blank page to both app stores.

Case study

Booknook — social reading platform

A bilingual platform where readers track their reading, keep their library, and talk about books. Web, iOS and Android.

  • Booknook library screen, showing hundreds of books grouped by format.The personal library
  • Booknook collections and themed reading lists screens.Lists and collections
  • Booknook reading challenges screen, with active goals and their progress.Challenges and goals
  • Booknook Nooks screen, the public and private reading clubs.Nooks: reading clubs
  • A conversation with Paige, Booknook's reading assistant.Paige, the reading assistant

The brief

Design and operate a complete consumer product: a book catalogue fed by several external sources, personal reading tracking, a social layer, and a presence on both app stores — all of it in French and English.

What we built

  • A unified book catalogue. The data comes from four external sources that regularly contradict each other. We built the pipeline that reconciles them into one clean record: normalization, author and work matching, duplicate detection, and a correction console for the ambiguous cases.
  • A relational database and an API. PostgreSQL, a versioned schema, a REST API, and access rules guaranteeing a reader only ever sees their own data.
  • Three interfaces. The reader-facing web app, an admin console for data quality, and the iOS and Android builds produced from the same codebase.
  • Automated releases. Every version ships from a continuous integration server, never from a workstation: signing, version numbering, verification of the production target, delivery to TestFlight and to Google Play's test track.
  • Full bilingualism. Interface, content and notifications in French and English from day one — not bolted on afterwards.
  • Subscriptions and billing. Paid accounts, trials and granted access, with server-side event handling.

What it demonstrates

Booknook covers just about everything a client engagement can demand: data modelling, integration with uncooperative third-party services, a consumer-grade interface, published mobile apps, deployment automation, bilingualism and payments. We didn't have to learn it on someone's project — we'd already done it, on our own product, with real users who rely on it daily.

Technologies: React, TypeScript, Node.js, PostgreSQL, Firebase, Capacitor (iOS and Android), continuous integration and delivery.

The next one could be yours.

We take on a limited number of engagements at a time, so we can do them properly.

Let's talk about your project