this post was submitted on 13 Jan 2026
204 points (97.2% liked)

Selfhosted

54680 readers
689 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I've been using various contact managers but they all feel like sales tools, so I built Nametag to track the people I actually care about - friends, family, colleagues. It maps relationships, tracks birthdays, and visualizes your network as an interactive graph.

Self-hosting highlights:

  • Docker Compose setup - PostgreSQL, Redis, Next.js app. One command to start
  • No email service needed - Accounts auto-verify, works completely offline
  • Unlimited contacts - No artificial limits (hosted version caps free tier at 50)
  • Complete data ownership - Your relationship data stays on your infrastructure
  • Optional email - Can configure Resend if you want birthday/reminder emails
  • No phone-home - Runs entirely on your network if you want
  • AGPL-3.0 licensed - Full source access

Features:

  • Track people with flexible attributes (name, birthday, contact info, notes)
  • Map relationships between people (family, friends, colleagues, custom types)
  • Interactive D3.js network graph visualization
  • Custom groups for organizing contacts
  • Birthday reminders (if you configure email)
  • Dark mode, i18n (English and Spanish for now, but more are coming)
  • Mobile-responsive

Tech stack:

  • Next.js 16 (TypeScript)
  • PostgreSQL + Prisma ORM
  • Redis for rate limiting
  • D3.js for graph visualization
  • Tailwind CSS

Quick start:

git clone https://github.com/mattogodoy/nametag
cd nametag
# Edit .env with your secrets
docker-compose up -d

Database migrations run automatically on first start.

Access at localhost:3000.

There's also a hosted version at https://nametag.one/ if you don't want to self-host (helps fund development).

GitHub: https://github.com/mattogodoy/nametag

Happy to answer questions about the setup, architecture, or deployment!

top 50 comments
sorted by: hot top controversial new old
[–] jjlinux@lemmy.zip 10 points 4 days ago (2 children)

Does it have caldav/carddav capabilities? That's key to keep it all there.

[–] SomeDudeFromSpace@lemmy.ml 2 points 3 days ago (1 children)

Would you mind taking a look at this issue? https://github.com/mattogodoy/nametag/issues/15 I'm planning the implementation for CalDAV/CardDAV and have a few high level questions I'd like your opinion on. Thanks!

[–] jjlinux@lemmy.zip 1 points 2 days ago* (last edited 1 day ago)

Sorry for the late reply. My wife has been keeping me busy with shit I don't want to do. ~~Looking at the conversation on github, I saw the first suggestion being the inclusion of pimsync into the docker compose file. I'm no developer, but it stands to reason that the same challenges remain if doing this because at the end of the day, pimsync is just a parser to sync with file systems, and for it to work with carddav the other party would still need to support carddav, right? So that idea is dead in the water.~~ I am going to reply now to your 4 questions in the github. My handle is 'mofongox'.

Edit. I was a complete moron and chose to asume before even trying the software. I replied to your comment on GitHub just now, and now that I'm clear on what this actually does (thank you for your patience man) I fixed my reply accordingly. The short of it is that any way to import the information from a carddav server, or even a template on how to format an import json file for the purpose of adding people should suffice. Thanks so much for this great addition to the FOSS community.

[–] SomeDudeFromSpace@lemmy.ml 7 points 4 days ago (2 children)
[–] Appoxo@lemmy.dbzer0.com 2 points 3 days ago

I was about to comment "Who has such a vast family to not be able to keep track (excluding the really extended family)?"

That would make more sense.

[–] jjlinux@lemmy.zip 3 points 4 days ago

Oh, snap. Thanks so much. This is great stuff.

[–] cravl@slrpnk.net 16 points 5 days ago (2 children)

For small personal deployments, is SQLite support planned? It's crazy performant and I have to imagine it would work for up to 500 contacts at the very least, which should cover the majority of deployments. Making Redis optional (otherwise using a basic in-memory KV store of some kind) would also be cool.

[–] SomeDudeFromSpace@lemmy.ml 14 points 5 days ago

I love SQLite, and I agree that it could very well fit this project. I'm adding it to my list :) Thanks for the feedback!

[–] DavidDoesLemmy@aussie.zone 2 points 4 days ago

Agree, it seems kind of resource heavy for my use case

[–] Shady_Shiroe@lemmy.world 18 points 5 days ago (1 children)

Quick question, when hosted plan says up to 50 people, is that you can add 50 people to remember or 50 people can access one database?

[–] SomeDudeFromSpace@lemmy.ml 7 points 5 days ago

It means you can add up to 50 contacts. I might have to clarify that. Thanks!

[–] femtek@lemmy.blahaj.zone 17 points 5 days ago (3 children)

This might work for my poly group. We always wanted to visualize how we are all connected.

[–] SomeDudeFromSpace@lemmy.ml 7 points 5 days ago

Careful! You might realise you’re cousins 😂

[–] victorz@lemmy.world 5 points 5 days ago (2 children)

Pardon my ignorance but what is a poly group?

[–] jivandabeast@lemmy.browntown.dev 8 points 5 days ago (2 children)

Polyamory, multiple partners and they each have multiple partners

load more comments (2 replies)
[–] GenderNeutralBro@lemmy.sdf.org 4 points 5 days ago (1 children)

A poly group (also known as a polycule) is a network of polyamorous people's relationships. Polyamory, in case you're unaware, is the practice of having multiple romantic or sexual partners at the same time, in contrast to monogamy.

If you were polyamorous and wanted to graph out your relationships, you could do it a few different ways. For example:

  • Just you and your partners. If any of your partners are also in relationships with each other, you'd draw lines between them as well.

  • Extend an extra level and include all of your partners' partners (known as metamours), again connecting any pair on the graph who are partners.

  • Extend that further and include all of your partners' partners' partners (no specific term for this as far as I know). This would likely include people you don't personally know, and it would be difficult to build a complete graph of all their relationships.

Etc.

[–] victorz@lemmy.world 4 points 4 days ago

I had a feeling they were talking about polyamory, but I wasn't sure since it felt a lot like over-sharing. But I guess it's good to announce any and all use cases for something like this, why not. 👍

load more comments (1 replies)
[–] thurstylark@lemmy.today 15 points 5 days ago

A+ for custom connection types. Polycules rejoyce!

[–] fastfinge@rblind.com 12 points 5 days ago (1 children)

Any way to sync with contacts on mobile? I’d love one source of truth.

[–] SomeDudeFromSpace@lemmy.ml 24 points 5 days ago (3 children)

CardDAV synchronization is next on the list of priorities :)

[–] lka1988@lemmy.dbzer0.com 1 points 3 days ago* (last edited 3 days ago)

Oh that will be handy.

I've tried rolling Monica multiple times, but I absolutely hate manually logging things, especially when the mobile implementation is ehhh at best.

[–] filcuk@lemmy.zip 6 points 4 days ago (1 children)

I'm subbing to releases, definitely keeping an eye on this!
I'm currently having sync my carddav to nocodb for relationships and other details since monica went bust, which isn't very practical.

[–] SomeDudeFromSpace@lemmy.ml 4 points 4 days ago

I hear you. I've also used nocodb for this, and also tried Obsidian and of course Monica, but nothing felt "right". It's crazy how we all arrive at the same solutions to this problem :)

[–] 5PACEBAR@piefed.ca 1 points 3 days ago

That's great to hear! I'd love to be able to keep my contacts in Nextcloud and use Nametag for the PRM part.

[–] bootloop@lemmy.world 8 points 4 days ago (2 children)

Congratulations on the launch! Could this also be used as a genealogy tree? I've been wanting for a long time to create mine but the options I found were too expensive and I wasn't up to create it from scratch (too long and not future proof).

[–] Harald_im_Netz@feddit.org 3 points 4 days ago

Ugh, also looking for a way to digitalize mine, but all tools I've found are either way too complex or lack critical functions, like e. g. supporting patchwork families/split-up parents which have new children.

[–] SomeDudeFromSpace@lemmy.ml 2 points 4 days ago

Thank you! Yes, I've thought about this and it's in my roadmap to create an "export group as family tree to PDF" function. Would that be good enough for your needs?

[–] petersr@lemmy.world 9 points 5 days ago (2 children)

I remember using Monica years back for something similar. Quickly lost the habits of using it since it was a lot of work updating and it didn't feel like it was worth the effort.

[–] lka1988@lemmy.dbzer0.com 1 points 3 days ago

Same here. I still have a Monica instance running, but I don't think I've touched it in at least a year...

[–] SomeDudeFromSpace@lemmy.ml 6 points 5 days ago (1 children)

That’s one of the reasons I started this project. Monica is a bit too complex for my needs.

[–] petersr@lemmy.world 3 points 4 days ago

Makes sense. Good work.

[–] DavidDoesLemmy@aussie.zone 5 points 4 days ago (1 children)

Does it support tracking the last time I contacted a person and reminders if I haven't contacted someone for a while? Eg I'd like to contact certain people every X weeks.

[–] SomeDudeFromSpace@lemmy.ml 5 points 4 days ago

Yes! That's one of the main features of this project :)

[–] erick@piefed.erick.sh 4 points 4 days ago (1 children)

Very nice project. I’ll definitely keep an eye on it.

Just a few days ago I ended up rolling my own PRM using a couple of tables in my NocoDB instance, Node-RED for notifications, and a couple of Siri Shortcuts as UI for my devices, mostly because as many already said, even Monica is a bit too much and quite hard to use.

I might as well give a spin and see if I can modify my shortcuts to use this instead!

[–] SomeDudeFromSpace@lemmy.ml 2 points 4 days ago

Thanks! I hope it fits your needs

[–] dieTasse@feddit.org 4 points 4 days ago

Great scott! That's heavy.

[–] Lemmchen@feddit.org 6 points 5 days ago (1 children)

This looks fun. I think I'm going to try that.

I've also just randomly noticed that the link on alternative.to doesn't work for whatever reason: https://alternativeto.net/software/monica/?toid=nametag--never-forget-a-name-again

load more comments (1 replies)
[–] njordomir@lemmy.world 3 points 4 days ago (1 children)

Looks good. I've considered a personal CRM for some time and have been using Obsidian a little bit. Having said that, I am open to something more tailored to the task. A question: what would it look like if someone wanted to export their data out of this tool later? Do I need to be a programmer to migrate away or is it relatively simple?

[–] SomeDudeFromSpace@lemmy.ml 4 points 4 days ago (1 children)

There is an "export" option in the account settings :) It's not in any specific standard (I'm planning to implement CardDAV soon), but it's exported to JSON, so you can see all the data.

[–] njordomir@lemmy.world 3 points 4 days ago (1 children)

Great to hear. I might give it a try in a limited area, like meeting people from a new hobby or friend group, then expand from there if it works f or me. I definitely see the benefit, especially for ADHD types who might otherwise forget to call someone for 1...2...3...12 months. :-D Thank you for making a cool piece of software.

[–] SomeDudeFromSpace@lemmy.ml 2 points 4 days ago

Great! Thanks for your kind words. Let me know if you like it :)

load more comments
view more: next ›