How WholeThing reads a chat

WholeThing is an iPhone app that reads a two-person WhatsApp export, or a set of screenshots, and counts its patterns on the phone: who starts, how fast each of you replies, the week things changed, the longest silence. A language model only words the sentences, and it can’t add a number. The first two findings are free.

The journey, from chat to report

WholeThing is coming soon to iPhone. Here is what using it looks like, one screen at a time.

  1. 1Bring in a chat. Export a WhatsApp chat on your phone (Export chat, then Without media) and send the file to WholeThing, or pick screenshots from Instagram, iMessage, Snapchat, Hinge or another messaging app. The export guide walks through it.
  2. 2Check it understood. The app shows how many messages it found, the two names and the dates the chat covers. That’s a receipt, not a finding: it’s there so you know it read the right conversation.
  3. 3Say which one is you. One tap. The app doesn’t guess it.
  4. 4Say who they are. Crush, Situationship, Partner, Ex, Friend or Family. The same chat tells a different story depending on this answer.
  5. 5Say what you’re curious about. Each relationship gets three questions of its own, plus “Show me everything”. Your answer decides which finding the report puts up front.
  6. 6Let it read. Four lines tick over as each part of the work is actually done: messages found, conversation starts mapped, reply patterns, changes over time. There’s no timer.
  7. 7Read the report. Up to 16 cards, each one a pattern the chat really has. The first two are free. The rest are the same real cards with the answers blurred until you unlock the conversation.

The report is written in the app’s language: Turkish if your iPhone is set to Turkish, English otherwise.

Who they are, and what you’re curious about

These are the questions the app offers for each relationship. Every list ends with “Show me everything”, which lets the relationship alone decide the order.

Who they areWhat you can ask
CrushIs the effort balanced? Who keeps it going? Is this changing over time?
SituationshipWhy does it feel so on and off? When did things shift? Who’s carrying the conversation?
PartnerHow balanced is our communication? Has our rhythm changed? What patterns keep repeating?
ExWhen did things change? Who came back first? What was our pattern?
FriendWhat’s our dynamic? Who’s the planner? What’s funny about us?
FamilyWho checks in first? What do we talk about most? What’s our pattern?

Nothing here is a quiz about you. It’s a way of telling the app what to look at first, so a report about your sister doesn’t open like a report about a crush.

Counted, not guessed

Two different things happen to your chat, and they’re kept apart on purpose.

The counting happens on your phone. The export is read on the iPhone, message by message, and every count, percentage and date in the report is computed there. Screenshots are read on the phone too, with Apple’s own text recognition, and the images are never uploaded. Nothing about the numbers depends on a server.

A language model words the sentences. Once the facts are counted, the app asks Google’s Gemini model, on Google Cloud’s Vertex AI, to write each card’s sentence. It’s given the facts the phone counted and a short, redacted sample of the chat so the sentences sound like your conversation. The privacy explainer lists exactly what goes and what is removed first.

What the model can’t do. Every sentence it writes is checked twice, on the server and again on the phone, and thrown out if it breaks a rule:

  • It contains a number that isn’t in the facts for that card.
  • It slips a number in as a word, like “twice” or “half”, that the facts don’t back up.
  • It names either of you instead of using the card’s own placeholders.
  • It claims to know what someone feels or wants: “loves you”, “losing interest”, “toxic” and the like.
  • It comes back in the wrong language.

When a sentence is thrown out, the card shows the app’s own sentence instead, written from the same facts. If the service can’t be reached at all, the whole report is still complete, in those plainer words. The numbers never change either way, because the model never touched them.

Some unlocked cards end with one extra line on what a pattern like this usually means in chats generally. It has to say “usually” or “often”, it can’t be about the two of you, and it can’t use words like “red flag” or “attachment”.

How the report is ordered

No two reports are the same fixed stack of cards. The order comes from three things, weighed for every finding the chat supports:

  • Relevance: how closely it answers the question you picked, or, failing that, how much it matters for the relationship you chose. This weighs most.
  • Strength: how well the chat supports it. A pattern seen in twenty conversations is surer than one seen in five.
  • Surprise: how far it is from what an ordinary chat would show.

Then the order is set. The second free card answers your question, if the chat has a finding strong enough to answer it; if it doesn’t, the next strongest real finding takes its place rather than a made-up answer. The first free card is the strongest remaining pattern, never a receipt like the chat’s first message. After that come changes over time, then the dynamics between you, then supporting patterns, then the playful ones.

A finding below its evidence bar is dropped, however interesting it would have been. A chat doesn’t have to produce every card, and a shorter report of real findings is the point.

The findings, in short

Each of these has its own page with the full method and what it can’t tell you.

[Who texts first](page:who-texts-first). A new conversation starts after six hours of quiet. The app counts who sends the first message each time, across the whole chat, and needs at least twenty of those starts before it says anything.

[Reply time](page:reply-time). The typical reply time for each of you, as a median so one four-day wait doesn’t distort it. It’s measured on replies to someone reaching out, not on rapid back-and-forth, and compared period by period to show if one of you changed pace.

[The week it changed](page:turning-point). The one week that splits the chat into a clear before and after, in messages per week or in reply times. It needs at least twelve weeks of chat and a large, well-supported change; many chats simply don’t have one.

[The longest silence](page:longest-silence). The longest gap in the chat, how long it lasted and who broke it. It has to stand out against the chat’s own rhythm and last at least three days.

[When you talk](page:when-you-talk). Which hours your messages actually land in, compared with a chat spread evenly across the day, so not every chat gets called a night-owl chat. It needs at least 300 messages.

[Your own language](page:shared-language). A word you both keep using, where neither of you uses it far more than the other, and the emojis doing most of the work.

Export or screenshots

Both work. They don’t show the same things, because screenshots have no times on the messages.

WhatsApp exportScreenshots
What it readsEvery message in the chat, with its date and timeThe text visible in the pictures, read on the phone
AppsWhatsAppInstagram, iMessage, Snapchat, Hinge and other messaging apps
What it can findEverything: who starts, reply times, the week it changed, silences, hours, shared words, emojis and moreWho writes more, message length, shared words, emojis and topics
What it can’tAnything the export doesn’t contain, like read receipts or deleted messagesAnything that needs time: who starts, reply times, turning points, silences, hours
How much it needsAround 200 messages over at least two weeks, at least 40 from each of youAt least 12 readable messages, with both sides of the chat visible

An export goes much deeper. Screenshots are a quick read, and the report says so: it stays with what’s visible.

What’s free, and what unlocks

The first two findings of every conversation are free. They’re real, computed from your chat, and they stay part of the report after you unlock the rest.

The locked cards are the same report, already counted. Their titles show; their answers are blurred. There are two ways to open them, bought through Apple:

  • This conversation: a one-time purchase that opens the rest of one conversation’s report on this phone. It can’t be moved to another device or restored after reinstalling the app.
  • Unlimited, 7-day pass: covers every new analysis you start in the seven days after buying it, and doesn’t renew.

Both show every card of the conversations they cover. An invite credit, earned when a friend you invited finishes their first analysis, also opens one conversation. Prices are shown by the App Store when the app is out.

What you’ll need

  • An iPhone on iOS 17 or later.
  • A chat between two people. Group chats aren’t supported, and a group export is refused rather than analysed wrongly.
  • For WhatsApp, the export made on your phone. WhatsApp on a computer only keeps the last few months.
  • Enough chat: around 200 messages over at least two weeks, with both of you writing.
  • English or Turkish. The app, its reports and the WhatsApp exports it reads are built for both.

WholeThing isn’t out yet. Join the waitlist and we’ll tell you when it is.

What it can’t tell you

WholeThing counts what happened in the messages. It doesn’t know why. A slower reply time can be a new job, a dead battery or a mood, and the chat looks the same in every case. It won’t tell you what someone feels, whether they like you or whether the relationship is good. It shows you the patterns, and the meaning stays with you.

Questions

Is WholeThing an AI chat analyzer?
Partly, and only for the words. Every number is counted on your phone by ordinary code; a language model writes the sentences around them and can’t add a number of its own.
Does it work with group chats?
No. WholeThing reads conversations between two people, and a group export is refused.
Is there an Android version?
No. WholeThing is for iPhone, on iOS 17 or later.
Can I download it today?
Not yet. It’s coming soon to iPhone, and the waitlist gets an email when it’s out.
Why are some findings missing from my report?
A finding only appears when the chat supports it strongly enough. A short or sparse chat has fewer, and screenshots can’t show anything that depends on time.