tête-à-tête

Inspiration

Couples often want to check in with each other, but these conversations can get lost between messages, calls, notes, and busy schedules. Important tasks can also be forgotten afterward. I created tête-à-tête to give couples one calm and private place to talk about what matters.

What it does

Couples choose questions they want to discuss. During a check-in, they go through the questions together, one at a time. They can mark a question as discussed, add an optional note, or create an action for something they need to do later. They can also view past check-ins and keep track of shared actions. I've building this seriously for about a month but for OpenAI Build Week, I ramped things up significantly and added a crucial feature called live check-ins. Two partners can now join the same session, see when the other person is present, and stay on the same question as they talk.

How I built it

The app is built with React, TypeScript, Vite, and Supabase. Supabase handles sign-in, saved information, security, and live updates between partners. Each live session is private and can only be joined by the couple it belongs to. I used GPT-5.6 through Codex to plan, build, test, and improve the live check-in feature. Codex helped me work through the database design, find realtime bugs, improve reliability, and add more tests. I made the main product and privacy decisions. For example, the app does not send private relationship notes to OpenAI or its models.

Challenges

The biggest challenge was keeping two devices in sync. Live updates can arrive late, arrive twice, or arrive in the wrong order. A partner might also lose their internet connection and return later. I had to make sure both partners saw the correct question, only the host could control certain parts of the session, and reconnecting did not break the check-in. I also fixed problems involving duplicate sessions and updates happening at the same time. Another challenge was keeping the app useful without making conversations feel like work. Notes are optional, the design is simple, and the app focuses on helping couples talk rather than recording everything they say.

What I learned

I learned that live collaboration needs more than a realtime connection. It also needs clear rules about who can make changes, what information should be saved, and what happens when a connection fails. Basically lots and lots of tiny decisions were made. I also learned that a simple experience can require a lot of careful work behind the scenes. Codex helped me move faster, especially when debugging difficult problems. I still made the final decisions about the product, privacy, and user experience.

What is next

Next, I want to test the live experience with more couples, improve the mobile experience, and make shared actions and reminders even easier to use. The goal is simple: help couples make time for meaningful conversations and follow through on what matters.

Built With

  • cloudflare-workers
  • edge-functions
  • github-actions
  • gpt-5.6
  • openai-codex
  • postgresql
  • react
  • react-router
  • responsive
  • row-level-security
  • supabase
  • supabase-realtime
  • typescript
  • vite
  • vitest
  • web
Share this project:

Updates