Active
ProfNet
A CRM for research relationships — professors, correspondence, collaborations — that never leaves your machine.
Inside the work
Connections with context.
Illustrative relationship map; no real contacts or personal data are shown.
Capture
Bring academic contacts and the context of each relationship together.
Connect
Follow relationships between people, institutions, and research interests.
Remember
Keep the history available locally when it is time to follow up.
Overview
Academic outreach and collaboration tracking generates the same relationship-management problem as sales does — who did I contact, when, about what, and what's next — but existing CRMs assume a cloud backend and a company account. ProfNet is local-first by design: SQLite on disk via Prisma (WAL mode), file attachments in a local storage folder, no cloud services, and no API keys, packaged as both a web app and an Electron desktop app.
A `INVARIANTS.md` document specifies the data-integrity rules the app must never violate, enforced by a Vitest suite that runs directly over the server-action layer — so refactors that would silently corrupt data get caught before they ship.
Key Findings
What the work shows
Both your database (`prisma/dev.db`) and file attachments (`./storage/`) are gitignored by design — none of your research contacts or notes ever leave your machine via git.
A one-click Settings → Download backup produces a zip of both paths; restoring is just unzipping over them and restarting the app.
Ships as a portable Electron build alongside the standard Next.js web app, using dnd-kit for drag-and-drop organization and shadcn/ui + Tailwind for the interface.