Relationship Companion

A weather report for your texts — not surveillance.
local only

Free · private · no account

Your chat never leaves this device. Free means import a WhatsApp, Telegram or .txt chat export, or try the sample. Everything parses and scores in your browser. No account, no cloud upload of message text — only optional localStorage for the last score snapshot.

How to export a chat

Your file stays on this device. It’s opened and scored right here in your browser and never uploaded anywhere.

WhatsApp on iPhone

  1. Open the chat and tap the person’s name at the top.
  2. Scroll down and tap Export Chat.
  3. Choose Without Media (it’s smaller, and only the text is used).
  4. In the share sheet, tap Save to Files and pick a folder.
  5. Come back here, tap Import a chat and choose the .zip you saved. No need to unzip it.

WhatsApp on Android

  1. Open the chat and tap the three dots (⋮) at the top right.
  2. Tap More, then Export chat.
  3. Choose Without media.
  4. Save the file somewhere you can find it, such as your phone’s files or Google Drive, then pick it here. A .txt or .zip both work.

Telegram

Exporting needs Telegram Desktop, the free computer app from desktop.telegram.org. The Telegram phone apps and the separate “Telegram for macOS” app from the App Store don’t have this export, so use Telegram Desktop.

  1. Open the chat in Telegram Desktop.
  2. Click the three-dot menu at the top right and choose Export chat history.
  3. Uncheck photos, videos and other media. Only the text is needed.
  4. Set the format to Machine-readable JSON, then click Export.
  5. Pick the result.json file here. To use it on your phone, move it over first (for example with AirDrop or iCloud Drive).

Already exported as HTML? That works too: select all the messages.html files at once, or a .zip of the export folder.

Download Mac Live Sync

Download the installer, open the DMG, then double-click Install Relationship Companion. It’s signed with an Apple Developer ID and notarized by Apple, so macOS opens it normally.

Version 1.9: No Command Line Tools or Xcode required — a private Python runtime is bundled inside the app, so Install works like a normal Mac app. Also includes 1.8 (Full Disk Access shows Relationship Companion), 1.7’s phone Connect code over the encrypted relay, and 1.6: live sync from WhatsApp for Mac as well as iMessage — pick the source with the iMessage / WhatsApp toggle in the Mac Live Sync card. Each phone or browser connects once with a 6-digit code; optional end‑to‑end away access stays off until you turn it on. Installing over an older version keeps your settings, sharing link and connected devices.

One-time: if chats look empty, macOS needs your permission to read Messages (and WhatsApp, if you use it) — System Settings → Privacy & Security → Full Disk Access → enable Relationship Companion (use the in-app Open Full Disk Access button). Chat data stays on your Mac unless you turn on end‑to‑end encrypted live share or away access (phone Connect uses the encrypted relay only after you pair).

Mac live sync

On the Mac running Live Sync, open http://127.0.0.1:8788, copy the 6-digit Connect code, then tap Connect my Mac and enter it here. Chats sync over an end‑to‑end encrypted relay — no Mac.local address needed.

Connection & away access
Mac Live Sync: use Download Mac Live Sync above (no source zip). After install, open http://127.0.0.1:8788/ on the Mac, copy the 6-digit Connect code, then on your phone open this HTTPS site → Connect my Mac and enter the code (works off your home Wi‑Fi via encrypted relay).
Phone app: On iPhone Safari use Share → Add to Home Screen. On Android Chrome use Install app / Add to Home screen. Works offline after first open.

Imports WhatsApp (.zip or .txt), Telegram Desktop (result.json or HTML) and clean-format .txt (YYYY-MM-DD HH:MM | Name: text). Installable phone app · offline shell · scores stay on-device.

Who is who

Favorability

—
—

Scored as of now; each signal is half absolute, half vs. their own last 4 weeks. Silence counts in real time.

Ball in court & last messages

Plans / next hang

Volume & signals

Advanced signals

Daily Volume

Today’s Warmth — Between You Two

Resets each calendar day. Bars = affection heat that hour; line = cumulative warmth (average of both people’s warmth today).

Weekly Warmth

Timely view — last ~12 weeks of warmth vs volume.

Monthly Warmth

Long timeline — up to 12 months of warmth vs volume.

When they’re most responsive

By day of week

By time of day

Taller = faster replies (log scale of median reply time, relative within each chart); labels show the median. Dashed = only 1 reply sample; grey = activity only. Tap a bar for details.

Interest quotes

Insights

    Coaching blurb

    Methodology

    Heuristic dashboard from observable patterns: 7-day reciprocity, partner warmth keywords, recent 48h activity, plan momentum, reply-speed health, and silence health. Soft language only — never mind-reading. Treat scores as weather for bandwidth and tone.