Friend invite only. This gate stops casual visitors — it is not cryptography. Your chat still never leaves your device once you are in.
Chats stay on this device until you choose otherwise. No account is required for the local dashboard.
A thread you paste or import is read in this browser and saved only in this browser. Nothing is uploaded as part of opening the app.
Mac Live Sync and a share link stay off until you turn each one on. They are not part of the local dashboard.
If you turn sync on later: message text is encrypted on your machine before it leaves. The relay stores only that scrambled copy, and drops it after 6 hours unless your Mac refreshes it. Turning sync off, or deleting, removes the copy. The keys stay on your devices. There is no account that can open your chats.
A share link is separate and off by default. When you turn it on, it is an encrypted copy of one chat’s text (last 120 days) so another device can show the dashboard. It is not sent unless you turn it on, and turning it off deletes that copy.
Delete removes the saved chat and scores in this browser. It does not delete Messages or WhatsApp on your Mac.
Chats stay on this device until you choose otherwise. No account is required for the local dashboard.
Saved here: the last scored chat, in this browser only. Not saved here: your Mac’s Messages, unless you are on the Mac app. Uploaded only if you turn it on: an encrypted away-from-home copy, or an encrypted share link for one chat.
Pasted text stays in this browser. It is not uploaded.
This Telegram export has several chats. Choose the one-on-one chat you want to look at.
Your file stays on this device. It’s opened and scored right here in your browser and never uploaded anywhere.
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.
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 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).
Off until you connect. The local dashboard works with this never turned on. Connecting uses a short-lived code. Message text leaves the Mac only if you later turn on away access, and then only as ciphertext.
Pick your hours, then tap Save.
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).
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.
Scored as of now; each signal is half absolute, half vs. their own last 4 weeks. Silence counts in real time.
Private supportive reminder for you only — never shown in a live share or to your partner. Based only on what they already told you. Not medical tracking; stored on this device only.
Resets each calendar day. Bars = affection heat that hour; line = cumulative warmth (average of both people’s warmth today).
Timely view — last ~12 weeks of warmth vs volume.
Long timeline — up to 12 months of warmth vs volume.
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.