Nametag: Self-hostable personal relationships manager
from SomeDudeFromSpace@lemmy.ml to selfhosted@lemmy.world on 13 Jan 15:14
https://lemmy.ml/post/41639039

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:

Features:

Tech stack:

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 nametag.one if you don’t want to self-host (helps fund development).

GitHub: github.com/mattogodoy/nametag

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

#selfhosted

threaded - newest

Lemmchen@feddit.org on 13 Jan 15:37 next collapse

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: alternativeto.net/software/monica/?toid=nametag--…

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:23 collapse

That’s true! I think it might be because I just submitted it and it’s currently under review

autonomoususer@lemmy.world on 13 Jan 15:48 next collapse

No reason this should need a server.

RadDevon@lemmy.zip on 13 Jan 16:11 collapse

Couldn’t the same be said for just about any self-hosted app? You can watch video files with a local video player, so no need for Jellyfin; you can save passwords in KeePass, so no need for Vaultwarden; etc.

Seems to me like, if you’d like to have access to this app along with your data from any computer without having to overlay a separate data syncing solution and install a local app on each of those computers, that’s justification enough. Or maybe I’m just not understanding your critique here…

autonomoususer@lemmy.world on 13 Jan 19:09 collapse

It’s not Minecraft. My contacts list is not multiplayer.

It’s not a video file. How many terabytes do you think my contacts list is?

How many people do you think are getting a server before getting a file sync app?

RadDevon@lemmy.zip on 13 Jan 21:30 next collapse

Not many… but this community isn’t for those people. It’s for people who are already predisposed to self-hosting software.

autonomoususer@lemmy.world on 13 Jan 23:24 collapse

How many people do you think are finding his place before file sync?

B0rax@feddit.org on 13 Jan 21:56 next collapse

But I have multiple devices and want to access it from all of them.

autonomoususer@lemmy.world on 13 Jan 23:15 collapse

That don’t need a server.

B0rax@feddit.org on 18 Jan 17:01 collapse

How else would you do it? With a Synchronisation client? Where you need to make sure that all devices are online at the same time?

Or would you sync it over the cloud? Which would mean a server but not yours.

autonomoususer@lemmy.world on 18 Jan 18:47 collapse

You turn off your phone to use the computer? lmao

B0rax@feddit.org on 18 Jan 19:44 collapse

No, but my laptop and desktop are seldomly online at the same time.

autonomoususer@lemmy.world on 18 Jan 21:08 collapse

You have been given enough help.

It is clear you do not care, so I will not spell it out.

RickyRigatoni@retrolemmy.com on 13 Jan 22:42 collapse

Tools like these are used collaboratively by many people for various reasons. Someone in this thread said they’d use it to manage people in work projects, for instance.

autonomoususer@lemmy.world on 13 Jan 23:27 collapse

Great, this is not clear from the post.

Shady_Shiroe@lemmy.world on 13 Jan 15:56 next collapse

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 on 13 Jan 20:18 collapse

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

femtek@lemmy.blahaj.zone on 13 Jan 17:07 next collapse

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

victorz@lemmy.world on 13 Jan 17:56 next collapse

Pardon my ignorance but what is a poly group?

jivandabeast@lemmy.browntown.dev on 13 Jan 18:03 next collapse

Polyamory, multiple partners and they each have multiple partners

femtek@lemmy.blahaj.zone on 13 Jan 18:07 collapse

Yeah, we have been wanting to make a who is connected to who chart. I was going to use draw io but it was a little manual.

Passerby6497@lemmy.world on 13 Jan 22:23 collapse

I don’t have the attention span to draw out a Pepe Silva looking graph (even if I periodically have to try to explain it to newbies haha)

GenderNeutralBro@lemmy.sdf.org on 13 Jan 18:09 collapse

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 on 13 Jan 23:26 collapse

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. 👍

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:17 next collapse

Careful! You might realise you’re cousins 😂

klymilark@herbicide.fallcounty.omg.lol on 13 Jan 22:07 collapse

I use org-roam (similar to Obsidian) to do that, the graph is neat for it! I only personally go to metamours, but I might pass an Obsidian vault around to see how deep that rabbit hole goes.

thurstylark@lemmy.today on 13 Jan 17:52 next collapse

A+ for custom connection types. Polycules rejoyce!

jivandabeast@lemmy.browntown.dev on 13 Jan 18:04 next collapse

This looks cool, interested to see how this stacks up against Monica & if there are plans for a mobile app

Bluesheep@lemmy.world on 13 Jan 18:44 next collapse

I only found out about Monica from one of the ADHD communities, and when I looked there has been. No update for almost a year. I thought it might be dead?

jivandabeast@lemmy.browntown.dev on 13 Jan 18:58 next collapse

No idea tbh, it seems to have commits from 5 months ago but no new releases

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:20 collapse

That is one of the reasons I started this project. Monica feels too complex for what I need. Also, self hosting it is not very straightforward. And finally, as you mentioned, it seems to be a bit abandoned and outdated.

Bluesheep@lemmy.world on 13 Jan 22:54 collapse

I like what you’ve got and will give it a go. I’m following a trail that started with an iOS app for helping you keep track of when you last contacted your friends. I couldn’t see that in your screenshots, but it would be a great feature for me at least!

SomeDudeFromSpace@lemmy.ml on 13 Jan 23:05 collapse

Thank you! Yes, there are reminders for keeping up with your friends, and you can set the frequency you want for each contact. Also, mobile apps are on the roadmap :)

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:21 collapse

Mobile apps are on the roadmap! I’ll try to actually publish a roadmap at some point.

eli@lemmy.world on 13 Jan 18:36 next collapse

This looks great. I’m running a Teable instance, but sometimes it feels like it is “too much” sometimes.

I think I’ll deploy this for fun to check out. I don’t see anything specific here for things like gift ideas or favorite flowers/colors? Like custom tags/categories/attributes.

I’m using Teable to track things like that, but I love the visualization here, reminds me of my obsidian mind map lol.

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:16 collapse

Thanks for the feedback! I wanted to keep it simple, so I just added a single notes field for purposes like those. This said, I am also considering adding custom attributes to people to solve these needs that apply to some of the contacts, but not all.

eli@lemmy.world on 13 Jan 21:37 collapse

I would appreciate some type of custom attributes, but the notes section works fine as-is, so definitely not a huge “need” IMO.

I have used Monica/other CRMs in the past, but they all felt a bit too corporate or “sales” driven like you said in your OP.

I spun up a quick docker instance in my test environment and I’m using it right now, it’s been quite solid! I do have some confusion with how relationships get applied(from/to in regards to child/parent), but I believe I just need to use it a bit more to get used to the “flow” of how it is supposed to work.

My biggest want/need is being able to select multiple people at once to add to another person, so I guess a “bulk” edit or multi-select. Like adding 10 “child” to one “parent” at once if all of the children have already been created. Or if some logic can be applied where if one parent(dad) has three children, then you add a spouse(mom) to dad, then nametag can auto-add or offer to bulk edit the three children to add the new spouse(mom) as a parent too? Just quicker/better/fluid workflow.

Again, the site as-is is already solid. Just some fine-tuning IMO.

SomeDudeFromSpace@lemmy.ml on 13 Jan 22:36 collapse

Thank you so much! This is very valuable feedback. I’ll add bulk edits to my to-do list :)

petersr@lemmy.world on 13 Jan 19:18 next collapse

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.

SomeDudeFromSpace@lemmy.ml on 13 Jan 20:13 next collapse

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

petersr@lemmy.world on 14 Jan 04:37 collapse

Makes sense. Good work.

lka1988@lemmy.dbzer0.com on 15 Jan 19:30 collapse

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

fastfinge@rblind.com on 13 Jan 21:33 next collapse

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

SomeDudeFromSpace@lemmy.ml on 13 Jan 22:34 collapse

CardDAV synchronization is next on the list of priorities :)

filcuk@lemmy.zip on 13 Jan 23:13 next collapse

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 on 14 Jan 09:47 collapse

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 on 15 Jan 01:04 next collapse

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

lka1988@lemmy.dbzer0.com on 15 Jan 19:27 collapse

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.

cravl@slrpnk.net on 13 Jan 22:12 next collapse

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 on 13 Jan 22:33 next collapse

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 on 14 Jan 07:03 collapse

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

bootloop@lemmy.world on 13 Jan 23:20 next collapse

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 on 14 Jan 00:51 next collapse

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 on 14 Jan 09:44 collapse

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?

njordomir@lemmy.world on 14 Jan 05:06 next collapse

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 on 14 Jan 09:42 collapse

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. <img alt="" src="https://lemmy.ml/pictrs/image/23639a3e-1d99-451c-98e3-5177c3682704.png">

njordomir@lemmy.world on 14 Jan 11:24 collapse

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 on 14 Jan 16:21 collapse

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

DavidDoesLemmy@aussie.zone on 14 Jan 07:05 next collapse

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 on 14 Jan 09:38 collapse

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

dieTasse@feddit.org on 14 Jan 07:35 next collapse

Great scott! That’s heavy.

erick@piefed.erick.sh on 14 Jan 10:01 next collapse

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 on 14 Jan 16:24 collapse

Thanks! I hope it fits your needs

jjlinux@lemmy.zip on 14 Jan 11:03 collapse

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

SomeDudeFromSpace@lemmy.ml on 14 Jan 16:20 next collapse

It’s on the works!

jjlinux@lemmy.zip on 14 Jan 16:37 next collapse

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

Appoxo@lemmy.dbzer0.com on 15 Jan 12:23 collapse

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.

SomeDudeFromSpace@lemmy.ml on 15 Jan 22:29 collapse

Would you mind taking a look at this issue? 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 on 16 Jan 13:13 collapse

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.