CDMX

All workCase study 02 / 04

Claire

All your chats. One AI. WhatsApp, Telegram and Instagram in one inbox that keeps track of what you promised.

Role
Founder
Years
2025—Now
Platform
iOS, web, desktop
Status
Private beta · Open source
Claire app screen

01 — The idea

People get hundreds of messages a day across too many apps. The big things get handled. The small promises don't: "I'll send the deck tomorrow." Claire started as a WhatsApp assistant built around that problem.

It grew into a full client. WhatsApp, Telegram and Instagram land in one inbox on iOS, web and desktop, and an AI layer sits on top. You can ask questions across every chat, draft replies that fit who you're talking to, and let Open Loops catch commitments before they go stale.

I'm building it on my own and in public. The server is AGPL and the clients are Apache 2.0.

  • 3Networks live
  • 3Apps, one client
  • 438Commits

02 — What it does

How it works.

  1. 01

    One inbox

    Matrix bridges bring WhatsApp, Telegram and Instagram into one message format. You sign in with a QR or pairing code, an SMS code, or Instagram's own flow, and everything shows up in one list.

  2. 02

    Open Loops

    Claire catches "I'll…" and "can you…", tracks who owes what, reminds you before it's late, and closes the loop when the message that settles it arrives.

  3. 03

    Ask Claire

    Ask anything across all your conversations. Answers come from hybrid keyword and vector search, and every citation is checked against the messages that were actually retrieved before you see it.

  4. 04

    People and memory

    One identity per person across networks, a memory of how you talk to them, and a voice profile so suggested replies sound like you.

  5. 05

    Rules and plugins

    Auto-replies for keywords, birthdays and thank-yous with rate caps, and a plugin SDK with typed triggers, actions and permissions.

04 — Under the hood

The hard parts.

01

Sends that survive a dropped connection

Each outgoing message gets a transaction ID hashed from the user, network, chat, kind and the client's request ID, so retries and server restarts never send twice. On the phone, an outbox holds messages and reactions through a lost connection and replays them on reconnect.

02

Cheap before smart

A free, deterministic gate reads every message first, looking for commitment, request, time and resolution language. Only messages that pass reach one combined extract-and-reconcile model call. Whether a loop involves you is decided in plain code, not by the model.

03

Bridges that come back

Only the metadata needed to restore a bridge session is saved. Pairing codes and cookies stay in encrypted Redis and never touch Postgres. An operations console shows the health of every bridge.

04

A desktop app that remembers you

The Electron app serves its bundle from a custom secure claire-app:// scheme. Under file:// the page gets an opaque origin, local storage isn't reliable, and people would be signed out on every launch.

Built with

  • Expo
  • React Native
  • React Native Web
  • Electron
  • Bun
  • Express
  • Supabase
  • Matrix
  • Redis
  • Vercel AI SDK
  • Railway

05 — What I took from it

A messaging app lives or dies on the boring parts:the send that goes through on bad signal, the bridge that reconnects.The AI only matters once those work.

Contact

Got somethingworth building?

I like talking to founders early — before the deck, before the team. Tell me what you're working on.

Write to me