Home

Meerkat - a personal relationship and contact manager

$$18987
https://lemmy.world/u/silicea posted on Mar 27, 2026 21:29

After selfhosting dozens of applications myself I am looking forward to giving something back to the community. I wanted a way to manage both my professional and personal relationships better. Especially with kids around it feels difficult to keep up with everyone’s birthdays, diets, events and whatnot . Originally I used Monica but development has stalled since quite a while and the new version was a fair bit more complex than I needed. So over the last many months I built my own solution.

What it can do: You can add contacts (even with custom fields), relationships, reminders, activities and notes. Optionally you can also activate the CardDav server to sync contacts to and from your phone.

What it cannot do: There is no platform sync with LinkedIn/E-Mail/Messengers and there are no AI functionalities (neither is currently planned). As of now there is no native iOS/Android app, using the page on mobile works fine for me so far.

Development and use of AI: This app is not vibe coded. I do use AI assistants for programming support but code is either authored or reviewed by me (which is definitely required). I used golang for the backend (such a great language), the frontend is react. After a PR on github E2E tests are run, for each tag docker containers are built and available.

Demo and links: 
 You can try a demo here: https://meerkat-crm-demo.fly.dev/ (login with username demo and password test_12345). The demo starts on demand so it might take a couple seconds to load. Data is shared but resets as soon as the demo goes idle. 

 Repository: https://github.com/fbuchner/meerkat-crm (the README has a screengrab to give you an impression)

I am an avid user of the app myself and excited to open it up to the community now. Please be kind, I’ve been working on this for quite a while but it is my first open source project at this scale.

https://lemmy.world/post/44838287
Reply
$$19009
https://sopuli.xyz/u/Breezy posted on Mar 27, 2026 22:26
In reply to: https://lemmy.world/post/44838287

First, thank you for AI disclosure. Second, thank you for auto-filling the credentials for the demo. That small attention to detail is always a green-flag for me. I also had a great laugh at Rich’s timeline in the demo.

There was actually another CRM-like self-hosted software that I had written down to check out called Nametag, but the last time I looked at it, it didn’t have CardDav support, so I wonder how this would compare.

I am curious why you’ve exposed the backend port by default for the Docker Compose file. Is this for future external API access or just to ping the healthcheck thru something like Uptime Kuma? Why not just put both the frontend and backend in a network (I do already see the frontend having a depends_on dependency? I guess my assumption would be if the frontend is down, so would the back.

But this looks really neat, thank you for sharing! The next time I get some free-time I’ll spin up a little test instance for a deeper dive.

https://sopuli.xyz/comment/22673094
Reply
$$19020
https://lemmy.world/u/silicea posted on Mar 27, 2026 23:03
In reply to: https://sopuli.xyz/comment/22673094

Thank you and do open a github issue if anything is not working as expected or the docs are unclear. I used expose in the docker compose file to help other developers understand the application better (expose itself is only for documentation, only ‘ports’ actually opens a port outside the internal network). Both containers also sit behind an nginx that acts as a single entry point. The /health endpoint exists currently only for docker healthcheck but I like your idea of exposing it through the frontend to allow for Uptime Kuma monitoring. I’ll implement that next.

https://lemmy.world/comment/22907370
Reply
$$19035
https://sopuli.xyz/u/Breezy posted on Mar 27, 2026 23:28
In reply to: https://lemmy.world/comment/22907370

Omg, this is embarrassing, I just realized my dyslexia strikes again. I read that as ports and not expose. That’s nice, I rarely ever see that being used. Thank you for the explanation.

https://sopuli.xyz/comment/22673914
Reply
$$19110
https://lemmy.world/u/zewm posted on Mar 28, 2026 02:40
In reply to: https://lemmy.world/post/44838287

How is this different from Monica?

https://lemmy.world/comment/22909588
Reply
$$19197
https://lemmy.world/u/silicea posted on Mar 28, 2026 08:41
In reply to: https://lemmy.world/comment/22909588

There’s quite an overlap in functionality but differences in how it works in detail. Looking for example at reminders, Meerkat shows overdue reminders in the dashboard until you acknowledge them (email reminder goes out only once of course). Then the reminder can be marked done and get persisted into the timeline or you can skip it. You can also set reminders to reschedule from completion date (e.g. you have a weekly catchup, are behind for five days; then the reminder is rescheduled for in a week not for in two days). Or looking at profile photos you can also just copy the image address from e.g. a LinkedIn profile in pull it in via the dialogue without saving it locally on disk. There are many such differences, so best see what works better for you.

https://lemmy.world/comment/22912553
Reply
$$19205
https://lemmy.dbzer0.com/u/Aviator3912 posted on Mar 28, 2026 09:11
In reply to: https://lemmy.world/post/44838287

Hey there - always on the lookout for a personal CRM here, and great to see a fresh entry next to Nametag and Monica.

Are you thinking about including CalDAV support for birthdays, reminders, etc., or other notification methods than email (e.g., via a Telegram bot)?

Can you share a bit more on what you currently see on the roadmap?

https://lemmy.dbzer0.com/comment/25214495
Reply
$$19210
https://lemmy.world/u/pizzaschaartje posted on Mar 28, 2026 10:01
In reply to: https://lemmy.world/post/44838287

I love all the Community characters in the demo! Gave me a giggle :)

https://lemmy.world/comment/22913183
Reply
$$19286
https://lemmy.world/u/irmadlad posted on Mar 28, 2026 14:00
In reply to: https://lemmy.world/post/44838287

Alex “Star-Burns” Osbourne

Had to be a blues guitarist.

https://lemmy.world/comment/22915895
Reply
$$19313
https://feddit.org/u/JensSpahnpasta posted on Mar 28, 2026 14:52
In reply to: https://lemmy.world/post/44838287

How can someone get his data out of the system? I’m always hesitant to try software like these - I have been burned by software where it is easy to put in your data and hard or impossible to get out.

https://feddit.org/comment/12258007
Reply
$$19315
https://feddit.nl/u/quick_snail posted on Mar 28, 2026 14:55
In reply to: https://lemmy.world/post/44838287

Why is this better than a spreadsheet or my Thunderbird contacts?

https://feddit.nl/comment/24178758
Reply
$$19316
https://lemmy.world/u/M137 posted on Mar 28, 2026 14:57
In reply to: https://lemmy.world/post/44838287

“Wow, you are really good at keeping in contact with people and focusing on relationships, what’s your secret?”

“A meerkat helps me.”

https://lemmy.world/comment/22916678
Reply
$$19321
https://lemmy.today/u/nothingcorporate posted on Mar 28, 2026 15:04
In reply to: https://lemmy.world/post/44838287

This is literally exactly what I have always wanted, and there’s even install instructions and a sample docker-compose yaml. You’re the best at life. Thank you!

https://lemmy.today/comment/23187149
Reply
$$19328
https://lemmy.world/u/silicea posted on Mar 28, 2026 15:14
In reply to: https://feddit.org/comment/12258007

There is an export button in the settings to export all data (aside from profile pictures) as CSV or export the contacts as VCF including profile pictures (but excluding activities and notes). Both of these methods allow for import into e.g. google contacts if you want to migrate away. In general all data is stored in an sqlite database on your file system as well as a folder for the profile photos.

https://lemmy.world/comment/22916945
Reply
$$19332
https://feddit.org/u/JensSpahnpasta posted on Mar 28, 2026 15:18
In reply to: https://lemmy.world/comment/22916945

Thank you - that sound good :)

https://feddit.org/comment/12258385
Reply
$$19362
https://lemmy.world/u/silicea posted on Mar 28, 2026 15:59
In reply to: https://lemmy.today/comment/23187149

Thank you! If anything is unclear or missing feel free to message me or open a github issue. As the maintainer I sometimes can’t see the forest for the trees anymore :)

https://lemmy.world/comment/22917617
Reply
$$19363
https://lemmy.world/u/silicea posted on Mar 28, 2026 16:01
In reply to: https://feddit.nl/comment/24178758

Depends on your use-case. If you only want to store your contacts go for Thunderbird contacts or Baikal. Meerkat helps you when you want a more user-friendly way to organize everything around those contacts, like relationships between them, a timeline of activities and scheduling for reminders. I also started with a spreadsheet but at some point required something more sophisticated.

https://lemmy.world/comment/22917652
Reply
$$19366
https://lemmy.world/u/silicea posted on Mar 28, 2026 16:07
In reply to: https://lemmy.dbzer0.com/comment/25214495

Everything so far was built to scratch my own itch so now I want to build the roadmap based on what others need or want. CalDav definitely sounds sensible, OIDC is also on the roadmap as well as API token support. In a couple of days I plan to post a more structured roadmap and publish it on github.

https://lemmy.world/comment/22917747
Reply
$$19425
https://lemmy.world/u/BromSwolligans posted on Mar 28, 2026 18:20
In reply to: https://lemmy.world/post/44838287

I think this is terrific. How much experience do you have programming, and what languages/frameworks did you use for this? I’m asking as a beginner who never knows where or how to really get started hobby programming, but really admires people who are out there doing cool shit.

https://lemmy.world/comment/22919441
Reply
$$19426
https://lemmy.world/u/BromSwolligans posted on Mar 28, 2026 18:22
In reply to: https://lemmy.world/comment/22912553

Does it have any emailing functionality? Like will a reminder come remind me through email, or is it only as valuable as I am checking it often?

https://lemmy.world/comment/22919456
Reply
$$19429
https://lemmy.world/u/silicea posted on Mar 28, 2026 18:34
In reply to: https://lemmy.world/comment/22919456

Currently it uses Resend (https://resend.com/) for email sending. You can add your resend token as env variable. The free plan allows for 3.000 mails per month, Meerkat would send you one mail a day at the specified time.

https://lemmy.world/comment/22919600
Reply
$$19439
https://lemmy.ml/u/SomeDudeFromSpace posted on Mar 28, 2026 19:00
In reply to: https://sopuli.xyz/comment/22673094

Nametag has full CardDAV support now. Disclaimer: I’m the developer :)

https://lemmy.ml/comment/24821658
Reply
$$19440
https://lemmy.world/u/silicea posted on Mar 28, 2026 19:04
In reply to: https://lemmy.world/comment/22919441

Some long backstory: I worked as a C# and AngularJS developer a long time ago but am now in a different profession. For this app I used go for the backend (with GORM as ORM) and react (with MUI for components) for the frontend. Go is what really brought me back to coding two years ago since it is a fun language and especially for hobby projects it feels clean and not overloaded. For the frontend I actually started with Vue.js but got frustrated with their state handling and discovered some bugs as well. Then I switched to Svelte wich seemed great if you build everything yourself but the existing component libraries still needed some work. In the end I landed at react. So in that repository I always had the same backend but did two rewrites for the frontend.

From my personal experience I recommend focussing on the architecture and not to overengineer it. You likely do not need a full database at the start, instead sqlite might be enough. You probably can also live without a queue like Kafka or cache like Redis. And your frontend probably does not yet need Redux for state management or even Tailwind for styling. Of course you will have a little more pain when you want to add this later but at the same time your starting complexity reduces and it is easier to maintain the mental model of your application. Once you extend the functionality try to keep as much business logic as possible in the backend (so the frontend can stay “dumb” and focus on UI/UX). Always easier to test the backend. Pick a tech stack and stick with it, knowing your stack is more advantageous than having the perfect stack for every problem. And of course, just get started on something, the growth will happen along the way anyway.

https://lemmy.world/comment/22919999
Reply
$$19444
https://lemmy.ml/u/starsoaked_lily posted on Mar 28, 2026 19:08
In reply to: https://lemmy.world/post/44838287

looks neat, and the ai disclosure is appreciated

https://lemmy.ml/comment/24821795
Reply
$$19608
https://lemmy.world/u/BackgrndNoize posted on Mar 28, 2026 22:57
In reply to: https://lemmy.world/comment/22919999

What career did you switch to after development, I’m considering a switch myself

https://lemmy.world/comment/22922960
Reply
$$19640
https://feddit.uk/u/tinned_tomatoes posted on Mar 28, 2026 23:59
In reply to: https://lemmy.world/post/44838287

Your timing is excellent. I’m struggling with managing my relationships in life and am slowly realising that I may have some inattentive ADHD traits. A tool like this, if I can commit to using it, could really help me. And the demo being a massive Community loveletter is a huge green flag! I’m going to give this a go tomorrow.

https://feddit.uk/comment/24157205
Reply
$$19705
https://lemmy.ca/u/corsicanguppy posted on Mar 29, 2026 01:46
In reply to: https://lemmy.world/post/44838287

Iso27002 says I can’t run this.

https://lemmy.ca/comment/22469325
Reply
$$19829
https://lemmy.zip/u/Jolteon posted on Mar 29, 2026 07:22
In reply to: https://lemmy.world/post/44838287

Nice! Are there any plans to add caldav as well?

https://lemmy.zip/comment/25559972
Reply
$$19837
https://lemmy.world/u/trougnouf posted on Mar 29, 2026 07:56
In reply to: https://lemmy.world/post/44838287

Why not work with standard CarDAV servers?

https://lemmy.world/comment/22927537
Reply
$$19840
https://lemmy.world/u/silicea posted on Mar 29, 2026 07:59
In reply to: https://lemmy.world/comment/22922960

I work in IT-strategy now, mostly around cloud platforms, architecture and governance.

https://lemmy.world/comment/22927560
Reply
$$19969
https://lemmy.world/u/BackgrndNoize posted on Mar 29, 2026 13:51
In reply to: https://lemmy.world/comment/22927560

How’d you make that transition, did you go for cloud certifications or some other degree or just through work experience and applying for new roles

https://lemmy.world/comment/22931476
Reply
$$19983
https://infosec.pub/u/01189998819991197253 posted on Mar 29, 2026 14:29
In reply to: https://feddit.uk/comment/24157205

have some inattentive ADHD

if I can commit to using it

Lol! Welcome to the club, mate! We may forget to contact one another unless we see you, but our friendships with each other never die.

https://infosec.pub/comment/21089377
Reply
$$19984
https://infosec.pub/u/01189998819991197253 posted on Mar 29, 2026 14:30
In reply to: https://lemmy.world/comment/22927537

Did you look into it? This is a personal CRM.

https://infosec.pub/comment/21089397
Reply
$$19985
https://infosec.pub/u/01189998819991197253 posted on Mar 29, 2026 14:32
In reply to: https://lemmy.ca/comment/22469325

Why not? What sections prohibit this ?

https://infosec.pub/comment/21089430
Reply
$$20373
https://lemmy.zip/u/filcuk posted on Mar 30, 2026 04:49
In reply to: https://infosec.pub/comment/21089397

I can’t use a CRM that doesn’t have bidirectional sync with my existing carddav, or at least I’d have to setup such sync myself.

There’s https://github.com/mattogodoy/nametag, which added this feature recently I believe.

https://lemmy.zip/comment/25578139
Reply
$$20554
https://lemmy.dbzer0.com/u/lka1988 posted on Mar 30, 2026 14:51
In reply to: https://lemmy.world/post/44838287

I’ll have to give this a shot. I’ve tinkered with Monica a few times over the last several years, but never really stuck with it since their mobile interface wasn’t exactly…good.

https://lemmy.dbzer0.com/comment/25252984
Reply