The Cloudbase Foundation

CRM Platform Comparison

★ Recommended option — pending board approval
Prepared for Jonathan
May 2026
Confidential
Evaluating Keela, LiveImpact, CiviCRM Standalone, and Twenty CRM for CBF's donor management, project intake, and website integration needs. Updated after CiviCRM was evaluated and replaced.
CiviCRM evaluated and abandoned — too complex to self-host
Twenty CRM recommended — modern UI, Docker-first, full REST API
Dev instance live at crm-dev.cloudbase.foundation
Tech capacity: director builds with Claude Code
Updated May 2026: CiviCRM Standalone was originally recommended and attempted. After extended difficulty with self-hosting (complex PHP/MySQL stack, poor standalone mode maturity, UI issues), it is proposed to be replaced with Twenty CRM — an open source, Docker-first CRM with a modern React UI, custom objects, and a full GraphQL/REST API. A dev instance has been tested on DigitalOcean to validate the approach. This document has been updated to include Twenty in the comparison.
KeelaNot recommended
LiveImpactNot recommended
CiviCRMEvaluated & abandoned
Twenty CRM★ Recommended
Software cost
$79–$319/mo
Contact-based tiers.
~$350/mo
Flat rate, unlimited users.
$0
Open source. No licensing fees.
$0 forever
Open source. No licensing, no tiers, no per-user fees. Ever.
Hosting cost
Included (SaaS)
Included (SaaS)
~$154/yr (VPS)
~$144/yr
$12/mo dev + $24/mo prod DigitalOcean droplets.
Donor management
✓ Strong. Profiles, Smart Ask AI, receipts.
✓ Strong. 360° donor view, AI analytics.
✓ Native. Unlimited contacts, contribution pages, recurring gifts.
✓ Flexible. Custom Donor object with full field control — giving history, communication preference, donor type segmentation. Email threads attached to records via Gmail integration.
Grant management
✗ None.
✓ Strong. Deadlines, deliverables, funder reporting.
✓ Native (CiviGrant). Full traceability chain.
Custom object. No native grant module — but a Grant object with custom fields (funder, amount, deadline, deliverables, status) can be built in settings. Sufficient for CBF's current grant volume.
Project intake
Basic. Donation forms only.
✓ Strong. Automated intake workflows.
✓ Native. FormBuilder writes to CiviGrant records.
✓ Via API. CBF-site contact form POSTs directly to Twenty's REST API creating Project Submission records. Kanban view tracks intake pipeline: New → Under Review → Approved/Declined.
Website integration
✗ No API. Zapier only.
✗ No API. Closed platform.
✓ APIv4. Full REST API.
✓ Native REST + GraphQL. CBF-site pulls live project data from Twenty API (Phase 2). Donation records created automatically via Stripe webhook → Cloudflare Worker → Twenty API (Phase 3). No Zapier.
Reporting & views
Good for fundraising. Limited custom queries.
✓ Strong. AI natural-language queries.
✓ Strong. 40+ templates, custom dashlets.
✓ Flexible. Saved views per object — table, list, or Kanban. Filter, sort, group by any field. Board view vs. director view configurable without code. No legacy UI baggage.
UI quality
✓ Modern, clean. Low learning curve.
✓ Modern. Role-based dashboards.
Dated core UI. Mitigated by River theme.
✓ Modern React UI. Feels like Notion — intuitive, fast, keyboard-shortcut driven. Cmd+K command palette. No legacy PHP UI. Strong contrast with CiviCRM.
Self-hosting complexity
N/A (SaaS)
N/A (SaaS)
High. PHP stack, MySQL, Apache/nginx, CMS layer required. Standalone mode still maturing.
Low. Three commands: download compose file, configure .env, docker compose up -d. nginx reverse proxy for SSL. No PHP, no CMS, no manual dependency management.
Vendor lock-in
Medium. Proprietary SaaS.
Medium. Proprietary SaaS.
None. Open source, self-hosted.
None. Open source (MIT). CBF owns the code, the data, and the PostgreSQL database. Full data export anytime. 25,000+ GitHub stars, active development.
Donation processing
Built-in donation forms
Built-in donation forms
CiviContribute pages
Separate layer. Twenty stores donation records. Processing handled by Stripe (Phase 3) — custom donation form on CBF-site, webhook → Twenty. GiveLively used in the interim with monthly CSV import.

Keela

From ~$1,000+/yr · SaaS
Best-in-class donor management UI
Smart Ask AI, quick onboarding
No grant management module
No API — cannot build custom integrations
Costs scale with contact database

LiveImpact

From ~$4,200/yr · SaaS
Best all-in-one: donor + grant + case
Unlimited users, flat-rate pricing
No API — extensibility blocked
Highest ongoing cost of all options
Smaller community, newer platform

CiviCRM Standalone

From ~$154/yr · Self-hosted
$0 software cost, native CiviGrant
Full APIv4, 20+ years of community
Evaluated and abandoned — self-hosting too complex
Standalone mode still maturing in 2026
Dated UI required significant mitigation work

Twenty CRM

From ~$144/yr · Self-hosted
$0 software cost — fully open source
Docker-first — running in minutes, not weeks
Modern React UI — Notion-like, intuitive
Full REST + GraphQL API for website integration
Custom objects — data model fits CBF exactly
No native donation processing (handled by Stripe Phase 3)
No native grant module (custom object sufficient for now)
🪂

Recommendation: Twenty CRM

CiviCRM was the original recommendation but proved too complex to self-host reliably in 2026 — the standalone mode is still maturing, the PHP stack requires significant manual configuration, and the UI issues created real friction. Twenty CRM is the recommended replacement: it's open source, Docker-first (running in minutes with three commands), has a modern React UI that non-technical staff can use without training, and exposes a full REST and GraphQL API that CBF-site can query directly — no middleware, no Zapier. The custom object system means the data model fits CBF's exact workflows rather than forcing CBF into a generic nonprofit template. Donation processing is handled separately via Stripe (Phase 3), which is cleaner architecturally and gives full control over the donor experience on the CBF website.

Dev instance deployed Twenty CRM running at crm-dev.cloudbase.foundation on a $12/mo DigitalOcean droplet. Docker Compose, nginx reverse proxy, Let's Encrypt SSL.
CBF data model defined Four custom objects scoped: Donor, Donation, Project, Project Submission — with fields, relations, and views documented.
3
Configure workspace in Twenty UI Build the CBF data model in Settings → Data Model. Create saved views. Import GiveLively donor/donation history via CSV. Generate API key.
4
Provision production droplet $24/mo DigitalOcean droplet. Repeat dev setup for crm.cloudbase.foundation. Mirror dev data model. Enable backups.
5
Phase 2 — CBF-site API integration CBF-site pulls live project data from Twenty REST API. Contact form POSTs project submissions to Twenty. Replaces static projects.json.
6
Phase 3 — Stripe donation integration Native donation form on CBF-site. Stripe webhook → Cloudflare Worker → Twenty API. Real-time donor record creation. GiveLively deprecated.