§ 01Context
Most people let warm contacts go cold simply because they can't see their own network. This desktop tool fixes that from the official data export you can download about yourself — the archive of your own connections and messages. It turns that export into a private dashboard: connection growth, top companies and seniority mix, who's gone dormant, and a relationship-strength score per contact, with optional AI-drafted notes for reconnecting. Everything stays on your machine.
§ 02Challenge
Ship something that feels native on macOS from a web stack. Parse a quirky export archive robustly — nested zips, CSV preambles, re-imports that must merge rather than duplicate. Compute a relationship model that's actually meaningful. Store all of it locally. And integrate LLMs without standing up a backend, so nothing about the user's network ever has to leave their device except the calls they explicitly opt into.
A native-feeling Mac app from a web stack — everything in a local database, LLM calls the only thing that ever leaves the machine.— Architecture principle
§ 03Architecture
- Native packaging from a web stack. An Electron + Webpack pipeline produces a universal (Intel + Apple Silicon)
.dmg/.zip, with a native SQLite module bundled correctly through the app archive — a genuinely fiddly native-module-in-desktop problem, solved. - Robust export ingestion. The importer handles nested archives, strips CSV preambles, and uses uniqueness constraints so repeated exports merge instead of duplicating.
- Local-first storage. Everything lives in a single on-device SQLite database — no server, no cloud, no account.
- Backend-free AI. Provider-agnostic adapters call the LLM directly from the desktop app, only when the user asks.
A universal signed build from a web stack, with a native SQLite module bundled through the app archive.
One on-device database, robust import with dedup — no backend, no account, nothing in the cloud.
A composite strength score — volume, recency and reciprocity — plus dormant-contact detection, computed deterministically.
Provider-agnostic adapters with retry, timeout and token accounting — called from the desktop, only on opt-in.
§ 04Analytics & AI
The heart of the app is a composite relationship-strength model — a weighted blend of message volume, recency and send/receive reciprocity — alongside dormant-contact detection, seniority classification and per-conversation response-time deltas, all computed deterministically over the local database. Those structured signals are then handed to the LLM as context, behind a hardened adapter with timeouts, back-off on rate limits, token accounting, and a Unicode sanitizer that keeps malformed characters from breaking the model calls.
§ 05Result
- A native-feeling Mac app — universal build, no backend, private by default.
- Robust ingestion of an official export, with merge-not-duplicate re-imports.
- A meaningful relationship model that surfaces who's strong, who's gone quiet, and who to reach.
- On-device AI that drafts the reconnect — only when you ask, only from your own data.
— Internal desktop prototype · metrics above are engineering, not end-user. Building a local-first tool? Start a conversation.


