Fundraise CRM
Fundraise CRM is the app my team uses to run our fundraise. Instead of a spreadsheet that one person owns and everyone else screenshots, it’s a real app where the whole team edits the same investor pipeline live — as a native macOS desktop app, or from any browser, including on a phone.
What it does
- One shared pipeline. Everyone opens the same workspace and every edit syncs in real time. Investors move Identified → Introed → First meeting → Second meeting → Diligence → Partner meeting → Term sheet → Committed (or On Hold / Passed), and a roll-up bar at the top shows what’s committed, what’s soft-circled, what’s still active, and the gap to the target raise. If two people touch the same investor at once, the second save gets an “edited while you were away” prompt instead of silently clobbering the first.
- TEDDIC on every investor. Each fund captures Thesis, Existing bets, Decision maker, Decision process, Investment criteria, and Champion — a fundraising cousin of MEDDIC — with an at-a-glance score so we can see which conversations are genuinely progressing and which are polite.
- People, not just funds. Every investor holds multiple contacts with their own details, and the full communication trail — calls, emails, WhatsApp, LinkedIn, meetings — is logged per person with direction and date. Logging a conversation automatically moves “last contact” forward.
- Knows what needs attention. A banner surfaces overdue next actions and investors who haven’t been contacted in two weeks. Search, filters (active, committed, passed, friends & family), and sorts by stage, due date, priority, or TEDDIC completeness keep a long list workable.
- Ideal Investor Profile. An editable criteria panel on the home screen keeps the team honest about who we’re actually looking for.
- Anywhere, any device. Use the native macOS app at your desk or the same CRM in a browser on your phone — they’re backed by the same database and stay in sync, so you can update the pipeline from a meeting on the go.
- Invite-only access. You sign in with your email and password (or a 6-digit emailed code), and can stay signed in on your Mac. Access is granted per-teammate; removing someone revokes them immediately.
- Auto-fill from the conversation log. Click one button and Claude reads everything logged against that investor and drafts the empty TEDDIC fields and the next action, so qualification doesn’t rot in a doc somewhere.
- Export. One click produces an Excel workbook of the whole pipeline for a board update or an advisor.
How it’s built
- One codebase, two surfaces — a Vite + React renderer that ships both ways: packaged by Electron into a double-clickable, notarised macOS app, and deployed as a web app on Cloudflare Pages that runs in any browser, desktop or mobile.
- Data & auth — a shared Supabase Postgres database with row-level security and realtime; investors, contacts, and communications are separate tables that stay live across every client. Sign-in is invite-only, with saved credentials stored encrypted in the Mac’s Keychain.
- Extraction — the Claude call runs in the Electron main process using each user’s own Anthropic key, stored encrypted in their Mac’s Keychain and never sent anywhere but Anthropic’s API. You can pick the model in Settings.
- Security — context isolation, sandboxing, no Node integration in the renderer, and a content-security policy that only allows outbound traffic to Supabase. No secrets in the build.
Why I made it
Fundraising is a team sport, but most CRMs are either heavyweight enterprise tools or a single shared spreadsheet that falls apart the moment two people edit it. I wanted something lightweight that felt like a native app, kept everyone on the same page in real time, and used Claude to kill the busywork of turning conversations into structured records.