Fig. 3 / 6

Couple Check-In

Four guided conversations a year for couples, with homework.

Couple Check-In (Bilan Couple in French) turns “we should talk more” into a quarterly ritual: private preparation, a structured two-pass session, and shared action items. Native on iOS and Android.

  • 42 questions in 6 categories
  • 2 passes per question, so both partners answer each one
  • 5 languages on iOS and Android: French, English, German, Spanish and Portuguese

Figures read from the repositories on 24 Oct 2026.

Platform
iOS & Android
Status
On the App Store and Google Play
For
Couples in a good relationship who want to talk about it on purpose
Year
2025
Role
Product and design direction. Built with Claude Code agents.
Stack
Swift / SwiftUI, Kotlin / Jetpack Compose, Firebase Auth & Firestore, Firebase Cloud Messaging, StoreKit 2 & Play Billing, WidgetKit & Android widgets, Astro 6 & Tailwind 4
Typeface
Gloock (Didone serif)
Commits
991 · 297 co-authored by agents · read 24 Oct 2026
Version
1.15 · released 27 Jul 2026 · read 26 Oct 2026
Colour bar sampled from the film: #f5ebeb, #c32d69, #730f41, #543c9c, #197d69.

The film · 0:30

Phone showing a Preparation checklist of question categories, with an "Answer saved" badge and a lock badge.
Play with sound · 0:30 · 3.3 MB

Everything in this film is also described in the text and the shot list on this page.

Shot list: every frame, described
Frame Time Shot On screen
Frame 01 0:00 Two small orbits, a green dot and a pink dot, sit apart on a dark violet gradient.
Frame 02 0:02 The green and pink dots streak toward each other with motion trails across the dark gradient.
Frame 03 0:04 Black serif headline on pale pink, the last word of the second line still rising into view. Finally have the conversations
Frame 04 0:06 Large black serif headline with "that matter." in magenta, underlined by a green brush stroke. Finally have the conversations that matter.
Frame 05 0:08 White serif "When?" on magenta, crossed by a clock-dial ring with a light tracing its edge. When? Life gets busy.
Frame 06 0:10 White serif "How?" on deep indigo, with a blurred green wave rising along the bottom. How? Opening up feels risky.
Frame 07 0:12 Phone showing a Preparation checklist of question categories, with an "Answer saved" badge and a lock badge. Prepare privately. Answer on your own time. Your partner never sees your answers.
Frame 08 0:14 Two circles on violet, a green one marked A and a smaller magenta one marked C, glitching into view. 02 — CONNECT
Frame 09 0:16 A green and a magenta avatar on violet; a speech bubble answers a question shown above them. Is there something you would like us to do more often? More cooking together. Two passes per question. Every voice heard.
Frame 10 0:18 A tilted white card titled Our Actions, with an empty list and a magenta plus button, floats on pink. Our Actions
Frame 11 0:20 Tilted action list with three ticked-off items and confetti, beside a bold headline on pale pink. Turn talk into action. Agree on small, concrete steps, then check them off together.
Frame 12 0:22 A big white "42" on dark navy beside a grid of coloured dots in six rows. 42 questions co-written with couples therapists
Frame 13 0:24 A lilac "4×" beside a ring of coloured dots, with the quarters Q1 to Q4 marked on a magenta circle. 4× check-ins a year, one calm ritual, every quarter
Frame 14 0:26 Two overlapping circles, green and magenta, overprint to violet at the centre on pale pink.
Frame 15 0:28 End card with the overlapping-circles logo, the title, and App Store and Google Play buttons. Couple Check-In. Finally have the conversations that matter.

The sheet · 15 frames, one every 2 s

The problem

Most couples know they should talk more about the relationship. Few do, because there is no natural moment, no obvious place to start, and no safe way to raise something awkward.

Daily-habit apps tend to produce notification fatigue and surface-level questions. Therapy is valuable but usually reactive. Couple Check-In sits between them: a light structure for people who are not in crisis and want to stay that way.

The product

Couple Check-In (called Bilan Couple in French) runs on a quarterly cycle.

Prepare. Each partner answers questions on their own time, grouped into six categories: overview, the past three months, sexuality, the future, use of our time together, and closing questions. Answers autosave and stay private.

Connect. The couple meets in person and goes through the questions in two passes. In the first, one partner answers the even questions and the other the odd ones. In the second, the roles swap. Everyone speaks and everyone listens.

Act together. Concrete commitments are added as action items during the session and checked off afterwards, for example Plan a date together once a month.

Grow. When a session ends, the next one is scheduled three months out. History accumulates over time.

The 42 questions were co-developed with couples therapists and sex therapists, according to the project’s marketing documents.

How it’s made

There are two native apps rather than one cross-platform build. The iOS app uses Swift, SwiftUI and StoreKit 2. The Android app uses Kotlin, Jetpack Compose, Material 3, Hilt and Google Play Billing. Both talk to the same Firebase project: Authentication (Sign in with Apple, Google, email), Firestore, Cloud Messaging, Analytics and Crashlytics, with a small Cloud Functions package.

The session engine is the core. A separate progress document tracks the current category, question index and pass, so both phones stay in step. Action items, reminders and widgets hang off the same data model.

The marketing site is a static bilingual Astro 6 site with Tailwind 4, served by nginx from a Docker image on Coolify. The repository holds architecture notes, a privacy and compliance guide, a data-deletion flow with a 30-day grace period, and iOS unit and UI test targets. Much of the code was written with Claude Code agents, guided by the documentation in the repo.

Details

The brand is a pair of overlapping circles, teal and raspberry, with violet where they meet. It shows up in the logo, in the avatars of the two partners during a session, and in the final frame of the film.

The film follows the same four steps as the product: prepare, connect, act together, grow. Kinetic type opens it, a phone mock-up shows the private preparation list, and a ring of 42 dots resolves into four quarters. A frame counter and section labels run along the edges, in the language of an editing table.

Decisions

  1. Fig. 3.1

    Privacy by structure

    Answers stay owner-only. The partner sees progress, never content, until the two of you sit down.

  2. Fig. 3.2

    Two-pass sessions

    Each category is answered twice with roles reversed, one partner speaking while the other listens. Session state syncs live between both phones.

  3. Fig. 3.3

    One backend, two native apps

    SwiftUI and Jetpack Compose clients share a Firebase schema, question set, reminders (7, 3 and 1 day before) and home-screen quote widgets.

  4. Fig. 3.4

    French first

    French is the primary market. The apps ship in French, English, German, Spanish and Portuguese, and the website in French and English. A script validates the localisation files.

  5. Fig. 3.5

    A calm brand

    Raspberry, teal and lavender on a near-white ground, with a high-contrast Didone display face. Colours are chosen for WCAG AA contrast.

Production notes

Commits on the default branch, read 24 Oct 2026
Span 5 Oct 2025 to 15 Oct 2026, 376 days
Commits 991
Co-authored by Claude Code agents 297
Share 30%
Read on 24 Oct 2026

Credits

Product and final cut
Sven Borden
Built with
Claude Code agents · 297 of 991 commits co‑authored, read 24 Oct 2026
Film
Designed, animated and scored in code by Claude
Printed by
App Store · Google Play

Next print · Fig. 4 / 6

10Lapse

Film

0:00 / 0:00