Mission-driven organizations · Custom CRM + AI · Going live October 2026
One record per person, across three organizations.
Access Ventures and its sister organizations share relationships but kept them in separate tools: a spreadsheet database, a giving platform, an events tool, and a lot of memory. We built one CRM that ties it together, with AI that files voice memos for you and knows when to ask a person instead.
- Client
- Access Ventures and sister organizations
- Industry
- Impact investing and philanthropy
- Connects to
- Virtuous, Luma, Airtable, Claude
- Status
- Real data live September 30, team live October 12, 2026
By the numbers
- 3: Organizations, one record per person
- 13: Tools staff can use from inside Claude
- 85%: Match confidence the AI needs before it files anything on its own
- 0: Records overwritten when two systems disagree
Source: the CRM's code and launch plan, September 2026.
The relationships were shared. The data wasn't.
Three related organizations worked with many of the same people, but each kept its own records. Households and individuals were mixed together. Giving history lived in one tool, event attendance in another, and the real context, who talked to whom and what they said, lived in people's heads.
That's fine until someone leaves, or two people reach out to the same person the same week without knowing it.
A CRM shaped around how the team actually works.
- One person, one record: People across all three organizations resolve to a single profile, with households split into individuals.
- Fields the team controls: Admins add custom fields, stewards, tags and saved views without a developer.
- Notes that stay private: Restricted notes are visible only to their author and the people they grant, with no admin backdoor.
- Safe imports and merges: CSV imports can be rolled back, and possible duplicates wait in a merge queue for a person to confirm.
- Syncs that never overwrite: Giving data from Virtuous and events from Luma sync in. When sources disagree, the difference goes to a review queue.
- AI capture and a morning briefing: Log a conversation by voice memo, text or from inside Claude. Each morning, leaders get a short audio briefing on who needs a follow-up.
From a hallway conversation to the right record.
- Pull it together: Records from the old database, the giving platform and the events tool are resolved to one person each.
- Flag disagreements: When two sources say different things, a person decides. Nothing is overwritten.
- Capture anywhere: Staff log interactions by hand, by voice memo, or by asking Claude.
- Let AI propose, people confirm: The AI suggests which person a memo is about and what to record. Clear-cut matches file themselves; anything uncertain waits for review.
- Start the day informed: A private morning audio briefing covers who needs outreach and why.
AI that knows when it isn't sure.
Auto-file only when it's obvious
A voice memo files itself only when the match is clear: a single candidate, a matching email or phone number, or a big lead over the runner-up, plus at least 85% confidence. Everything else goes to a person.
const decisive =
Boolean(chosen) &&
(candidates.length === 1 ||
chosen!.source === "email" ||
chosen!.source === "phone" ||
!runnerUp ||
chosen!.score - runnerUp.score >= 0.25);
if (quickPickedId) {
targetPersonId = quickPickedId; autoFiled = true; confidence = 100;
} else if (chosen && decisive && result.match.confidence >= AUTO_FILE_CONFIDENCE) {
targetPersonId = chosen.id; autoFiled = true;
confidence = result.match.confidence;
} else {
// ambiguous: waits in the review queue with its candidates
}
Built with: Next.js, PostgreSQL, Drizzle, Railway, Google sign-in, Claude, OpenAI voice, Virtuous API, Luma API
Built in weeks, going live with real data this fall.
The team tested every workflow on demo data through the summer, with feedback rounds in August and September. Real data cuts over September 30, with the whole team live October 12.
- One place to see every relationship across all three organizations.
- Private notes that stay private, by design rather than by policy.
- Imports, merges and syncs that can be undone or reviewed, never silently overwritten.
- AI that saves typing without guessing, and a morning briefing that turns the CRM into a to-do list.
Working with Josh was a seamless experience. He was nimble, responsive, and easy to collaborate with as he supported our team's custom CRM build. I'd recommend him to organizations of all sizes, but especially those looking for a dynamic thought partner and technical expert.
Your CRM is a spreadsheet and three people's memory.
- Relationships span more than one team, brand or organization.
- Off-the-shelf CRMs want you to change how you work.
- Nobody logs calls because logging calls is a chore.
Book a call with Josh | See the Fix-it Sprint
Frequently asked questions
- What did Solid Giant build for Access Ventures?
- A custom CRM shared by Access Ventures and its sister organizations: one record per person, custom fields and views, restricted notes, rollback-safe imports and a merge queue, syncs with Virtuous and Luma, AI voice memo capture, a Claude connector, and a morning audio briefing.
- How does the AI decide where a voice memo goes?
- It proposes the person and the facts. It files on its own only when the match is clear-cut and at least 85% confident. Everything else waits in a review queue for a person.
- Why build a custom CRM instead of buying one?
- When relationships cross several organizations, notes need real privacy, and data comes from giving and event tools, a custom CRM fits the work instead of forcing the work to fit the software.
All work