惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
C
Check Point Blog
D
Docker
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
量子位
有赞技术团队
有赞技术团队
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
M
MIT News - Artificial intelligence
B
Blog
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
月光博客
月光博客

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I read 50 years of network science, then built a CRM that...
Nahrin · 2026-05-22 · via DEV Community

Nahrin

Graph visualization of user data with nodes representing user connections

Last year, I stumbled on a paper that changed how I think about professional networks.

In 2022, researchers at LinkedIn, MIT, Harvard, and Stanford ran a causal experiment on 20 million LinkedIn users. They tracked 2 billion connections and 600,000 job changes. The finding: weak ties — people you barely know — are significantly more likely to help you land a job than your close contacts.

This wasn't new. Sociologist Mark Granovetter proposed the "strength of weak ties" theory in 1973. But the 2022 study (Rajkumar et al., published in Science) was the first large-scale causal test. Fifty years of theory, finally proven at scale.

I'm a software engineer. My first thought was: why doesn't any tool actually use this?

LinkedIn has the data but doesn't surface tie strength. CRMs like HubSpot, Folk, and Attio treat every contact the same. Nobody scores relationships by the research that says which ones actually matter.

So I built one.

The architecture decision that shaped everything

Early on I had to choose: build a traditional SaaS with a database, or go browser-only.

I chose browser-only. Here's why.

The people who need this most — recruiters, founders, career changers — are managing sensitive professional relationships. Candidate pipelines. Investor networks. Executive contacts. Asking them to upload that to my server felt wrong, and "we take privacy seriously" on a terms page doesn't mean much.

So the entire CRM runs in your browser. IndexedDB stores everything locally. No accounts.
No server-side database for contact data. No tracking. Your network graph never leaves your machine.

The tradeoff is real: if you clear your browser data, it's gone. That's why the paid tier includes encrypted backup and encrypted share-links. But the default is privacy by architecture, not by policy.

The stack

  • Next.js 14 (App Router) with TypeScript
  • Dexie.js wrapping IndexedDB for client-side storage
  • D3.js for the network graph visualization
  • Tailwind CSS for styling
  • Stripe for licensing (validates a key, no user accounts)
  • Vercel for deployment
  • Anthropic Claude for AI-drafted outreach messages (server-proxied for licensed users)

The original visualizer (V0) is open source under MIT github.com/navox-labs/network. V1 adds the full CRM layer on top.

What it actually does

You export your LinkedIn connections (Settings → Get a copy of your data → Connections). Upload the CSV. The app builds an interactive graph of your network.

Then it scores every contact by tie strength — based on the weak-ties research. The contacts you've been ignoring? Those are often your most valuable professional relationships.

The free tier gives you the graph, gap analysis (which industries are you missing bridges to?), company search, and an outreach queue.

The paid tier adds a full CRM: contacts table, pipeline, notes, tags, AI-drafted messages, follow-up reminders, and relationship timeline.

What I learned building it

IndexedDB is powerful but unforgiving. Schema migrations need careful handling when there's no server to coordinate. Dexie helps a lot, but you're still managing state that lives entirely on the user's device.

Privacy-first architecture limits your options — and that's the point. I can't run analytics on user data. I can't build recommendation models from aggregate usage. Every feature has to work with data I never see. It forces better design decisions.

The research is the moat. Any CRM can add a graph view. But implementing tie-strength scoring from peer-reviewed methodology — connecting Granovetter's theory to Rajkumar's empirical findings to actual product features — that's hard to replicate without doing the research work.

Recruiters are pragmatic buyers. 30+ recruiters reached out after the V0 Product Hunt launch asking for a CRM version. They don't care about the graph being pretty. They care about finding warm paths to candidates before paying for cold InMail.

Try it

The free visualizer is live at navox.tech/network
upload your LinkedIn export, see your graph, find your weak ties. No account needed, no data leaves your browser. The CRM layer (contacts, pipeline, AI drafts) is a paid upgrade from there.

The original V0 visualizer is open source:github.com/navox-labs/network

The research, if you want to go deep:

  • Granovetter, M. (1973). "The Strength of Weak Ties." American Journal of Sociology, 78(6).
  • Rajkumar, K. et al. (2022). "A causal test of the strength of weak ties." Science,377(6612).

I'd genuinely love feedback from other devs building privacy-first tools. The browser-only constraint creates interesting problems — happy to discuss in the comments.