Monica — Personal Relationship Manager for Remembering What Matters
Monica is a self-hosted personal CRM that helps you nurture relationships with family and friends. Track birthdays, conversations, kids' names, gifts given, and the little details that sustain long-term relationships.
What it is
Monica is a self-hosted personal relationship manager (personal CRM) that helps you maintain meaningful connections with family, friends, and acquaintances. It tracks birthdays, conversation notes, gift history, kids' names, food preferences, and the small details that sustain long-term relationships.
Monica is for people who want to be more intentional about relationships. Instead of relying on memory or scattered notes, you have a searchable, organized record of every important interaction and detail.
How it saves time or tokens
Monica replaces scattered notes, calendar reminders, and mental effort with a structured system. Before a dinner with friends, you review their Monica profile: what you discussed last time, their kids' ages, dietary preferences. This preparation takes minutes instead of the awkward 'remind me, how old is your daughter now?' at the table.
Automated birthday and anniversary reminders ensure you never miss important dates. The journaling feature creates a personal log that doubles as a life record.
How to use
- Deploy Monica with Docker Compose:
curl -o docker-compose.yml \
https://raw.githubusercontent.com/monicahq/monica/main/docker-compose.yml
docker compose up -d
- Open
http://localhost:8080and create your account.
- Add contacts and start recording interactions:
Contact: Jane Smith
Relationship: Close friend
Birthday: March 15
Notes: Vegetarian, two kids (Alex 8, Sam 5)
Last conversation: Discussed her new job at Acme Corp
Example
Monica's API for integrating with other tools:
# Add a contact via API
curl -X POST http://localhost:8080/api/contacts \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Jane",
"last_name": "Smith",
"is_starred": true,
"birthdate": "1990-03-15"
}'
# Log an activity
curl -X POST http://localhost:8080/api/activities \
-H 'Authorization: Bearer YOUR_TOKEN' \
-d '{"summary": "Dinner at Italian place", "date": "2026-04-10"}'
Related on TokRepo
- Self-hosted tools -- Self-hosted apps for personal productivity
- AI tools for task management -- Organization and productivity tools
Common pitfalls
- Trying to add every person you know on day one. Start with your closest 20-30 contacts and build the habit of logging interactions. Expand gradually.
- Not setting up email reminders. Monica's value compounds when it proactively reminds you of birthdays and follow-ups. Configure SMTP in the settings.
- Forgetting to back up the database. Monica stores personal data that cannot be recreated. Schedule regular backups of the Docker volume or database.
Frequently Asked Questions
Yes. Monica is open source (AGPL-3.0) and free for self-hosted deployments. There was previously a hosted version, but the project now focuses on self-hosting. You need a server or local machine running Docker.
Yes. Monica supports multiple user accounts on a single instance. Each user has their own contact database and privacy settings. This works well for couples or families sharing a server.
Monica does not have a dedicated mobile app, but the web interface is responsive and works well on mobile browsers. You can add it to your home screen as a progressive web app (PWA) for quick access.
Monica supports importing contacts via vCard format. Export your contacts from Google, Apple, or other services as a .vcf file and import them into Monica. Not all fields map perfectly, but names, emails, and phone numbers transfer cleanly.
Because Monica is self-hosted, your data never leaves your server. There is no third-party cloud service involved. Enable HTTPS, use strong passwords, and keep the Docker image updated for security patches.
Citations (3)
- Monica GitHub— Monica is a self-hosted personal CRM for managing relationships
- Monica License— AGPL-3.0 open-source license
- RFC 6350 - vCard— vCard format for contact import and export
Related on TokRepo
Discussion
Related Assets
DTM — Distributed Transaction Manager for Microservices
A cross-language distributed transaction framework supporting Saga, TCC, XA, and two-phase message patterns for reliable microservice coordination.
WatermelonDB — Reactive Database for React Native Apps
A high-performance reactive database framework for React Native and React web apps, built on top of SQLite with lazy loading and sync primitives.
Dexie.js — Minimalist IndexedDB Wrapper for the Web
A lightweight wrapper around IndexedDB that provides a clean Promise-based API for client-side storage in web applications.