finds.dev← search

// the find

monicahq/monica

★ 24,757 · PHP · AGPL-3.0 · updated Apr 2026

Personal CRM. Remember everything about your friends, family and business relationships.

Monica is a self-hosted personal CRM (they call it a PRM) built on Laravel. You track people — birthdays, how you met, notes from conversations, activities, addresses — and it reminds you to stay in touch. The main branch is currently a beta rewrite; the stable v4.x lives on a separate branch.

CardDAV/CalDAV sync is a real implementation, not a checkbox feature — there's a full bidirectional sync engine with job queues, etag tracking, and a custom DAV client. The domain structure is disciplined: each feature (ManageGoals, ManageCalls, ManageDocuments) owns its own Services, Controllers, and ViewHelpers, which makes the codebase navigable even at this scale. AGPL license means any SaaS fork has to open-source their changes, which has historically kept the hosted version competitive with self-hosters. Docker image is on Docker Hub official, which means straightforward self-hosting with a single compose file.

The main branch is marked beta and diverges significantly from the stable 4.x branch — if you're deploying today, you're choosing between a stable but potentially aging codebase and an unstable rewrite, with no clear timeline for when main stabilizes. No API layer: there's a DAV sync path but no REST or GraphQL API, so building integrations or mobile clients requires reverse-engineering the web session. The two-person core team is a real bus-factor risk for a project this size; contributor activity exists but deep architectural decisions bottleneck on one maintainer. Search is powered by Laravel Scout, which means you need to configure a driver (Meilisearch, Algolia, or database fallback) separately — the default out-of-box search experience is weak.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →