Active

ProfNet

A CRM for research relationships — professors, correspondence, collaborations — that never leaves your machine.

SoftwareTools

Inside the work

Connections with context.

Concept in motion
↗PEOPLE / CONTEXT / CONNECTIONSLOCAL KNOWLEDGE, CONNECTED

Illustrative relationship map; no real contacts or personal data are shown.

01

Capture

Bring academic contacts and the context of each relationship together.

02

Connect

Follow relationships between people, institutions, and research interests.

03

Remember

Keep the history available locally when it is time to follow up.

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.

Next.jsReactPrismaSQLiteElectron