Monica: Open-source personal relationship manager
monicahq.com
monicahq.com
We've also written OfficeLife, an open source tool to manage your employees: https://github.com/officelifehq/officelife, yet to be released.
I think we have too many ideas and side projects :-)
This has been badly damanged during lockdown - just walking past someone's desk and being reminded I need to speak to them was useful. And just saying hi kept the "relationship" fresh
Chandler has not only already been used for another piece of software, it has been used for something in what is roughly the same space. The other Chandler was discontinued >10 years ago, but I had to double check and triple check to suss out whether or not your Chandler is actually a reboot + a rewrite. And I'm still hedging (but I think the answer is "no, they're completely separate"). That's a confusing amount of similarity.
EDIT: it looks like this has been pointed out. Even though it's "just" a codename, I'd recommend changing it to something like "chauncey" or "bingaling" or "miss-bong" or "skidmark" or something.
And yes it’s a TV character too, but Parent isn’t wrong to point out the name collision.
1. Knowing (or not knowing) that Chandler is a character on Friends has nothing to do with the comments here.
2. You are the woooshed. "Chauncey", "Bingaling", and "Miss [Chanandler] Bong" are all (semi-obscure) names that were used to refer to Chandler Bing at some point during the series. All suitable alternatives for a project codename. (Not that it matters, because, again whether one knows any of this has nothing to do with the issue being discussed. Your explanation is not exculpatory. It's not an affirmative defense. It's just... nothing. It's like a cow's opinion; it's moo.)
Try, like, reading or something.
Why do you think this is relevant to the topic of whether it's okay to use the name "Chandler" after having already been used for another personal information management tool?
> The other Chandler was discontinued >10 years ago, but[...]
Edit: should have scrolled down more: https://news.ycombinator.com/item?id=33612776
(I'm super proud to say that we have an official Docker image, official being the label the Docker granted us last year as they (Docker, the company) maintain it. There are not a lot of official Docker images, but we are part of it, and it's awesome)
Besides, a lot of people use shared hosting for any number of reasons. Anything not PHP based is doomed there.
https://news.ycombinator.com/item?id=14497295
https://news.ycombinator.com/item?id=25270001
Monica: Personal CRM. Remember everything about your friends, family and etc. - https://news.ycombinator.com/item?id=25270001 - Dec 2020 (198 comments)
Monica: Open-source personal CRM - https://news.ycombinator.com/item?id=21850155 - Dec 2019 (129 comments)
Monica – Personal CRM, Remember everything about friends and family - https://news.ycombinator.com/item?id=18318547 - Oct 2018 (45 comments)
Show HN: Monica, an open-source CRM to manage friends and family - https://news.ycombinator.com/item?id=14497295 - June 2017 (568 comments)
If you took away a dollar for every software engineer who I heard say that, and actually followed through, I'd still be a rich man.
> [...] Monica is an old code base now. Old in the sense that it’s 7 years old and it has been touched by hundred of contributors. There are some concepts in the code that we let through, because we either didn’t know any better back then or because we didn’t want to piss off contributors, that we don’t want anymore. The project has way too many dependencies, and maintaining the code has become harder than it was before. Changing something is riskier, and takes more time. Also, we’ve seen how people use Monica, what they want to do with it, and the current code limits us way too much if we want to support what people want to use Monica for. Finally, Monica is still a side project for us. We are extremely passionate about it, and we want to also have fun building it. And the current version wasn’t that fun.
Changing something is definitely not riskier, especially if you have tests and real users who are actively providing feedback as well as showing the edge cases. You can also focus on changing only the things that need changing, instead of having to redo everything just to change some things. A re-write also delays everything, since current users will probably not get any updates nor access to new features until the re-write can provide a good alternative to the existing system.
Oh well, I guess since it’s a side project for them, the learning and fun will be more important than providing a good experience to their users.
Do you have examples of what these features are/were?
And, sort of tangentially, do you recommend actually setting up Monica in 2022 or waiting until Chandler to try the stack?
On the face of it what you say is true, but I've seen (and I'm sure many have seen) situations where the codebase was so bad - or the underlying technologies so ancient - that a rewrite was the only practical way to get things back on track again.
Did the rewrite take way longer than initially projected? Yes.
Was it a lot more effort than initially projected? Yes.
Was it painful medicine that nonetheless left the business in a better place? Yes.
> Was it a lot more effort than initially projected? Yes.
> Was it painful medicine that nonetheless left the business in a better place? Yes.
You make it sound like this is a net positive, but that is meaningless when you are not comparing it with the alternative:
> Would refactoring it be faster? Yes
> Would it require less effort? Yes
> Would it still leave the business in a better place? Yes
I don't think one can ever justify a rewrite unless
(1) the code is trivial to implement, or
(2) it is covered with extensive unit and system testing, or
(3) the technologies used are no longer available/supported, there is no upgrade path, and a new language/framework is absolutely necessary.
I use obsidian for tracking meetings, people, and documents in a civic engagement sphere. So hundreds of entities and a few meetings a week.
I have folders for interpersonal meetings (calls, coffee dates, one on ones), public/group meetings, people, and a few other things. Every individual gets a top-level entry in the people folder. Every meeting or personal meeting gets a page in folder; folders are organized by year, then month. E.g meetings\2022\november\public forum with x on November 15, 2022.md
I use templates for each document type; that helps me keep things consistent so I’m tracking the same information for meetings. For meetings I run, I have special templates that help keep me organized.
When I take a note about a person saying something or attending a meeting, I type [[, then I get a list of people to choose from that autocompletes. I use the alias feature on people notes to track things like job titles, name variations, and acronyms.
The approach is more flexible than Monica, and it lets me grow and change the data I collect over time. The tool is a super power. Obsidian tracks all the back links so if I want to find out which meetings a colleague was in, it is very easy to do that.
I used to use OneNote but Obsidian is much more scalable. I’m putting 10x as much info in it as I ever did in OneNote and I expect to put 10-100x more before I move on to something else.
Bonus notes:
Obsidian plugin system is great and has a pretty robust, if not super well documented API. I’m working on plugins to automatically improve records and already have plugins that have saved hours on some special-purpose tags
You can embed pdf documents like images and have a preview show up as an embed. Amazing for meeting agendas.
If you have standard fields for notes, you can surface those in a table using dataview.
Todoist integration is pretty cool if you want to make a “Dashboard” note for project management.
The iOS version keeps the synced files on the file system. That means if you refer to a PDF, you can mark it up with a dedicated app (e.g. PDF expert) in place and keep it synced in your vault.
You can create links before creating a matching note. This is great for fast moving meetings, and then you just need to click into the link to create a matching document.
Now try looking at classic model: anything is a single application, from the OS to user-programmed simple automation. That's true for Smalltalk workstations to LispM. This is so effective that I found today far simpler and power using Emacs than any other modern software, even if modern Emacs just run on top of something else, lacking a LispM underneath, and even if it's development lag in many areas for modern usages.
So to say: all FLOSS authors, instead of trying competing with commercial tools their way, do your best to resurrect the old way. Please choose to learn classic languages like Lisp (CL or anything else) or Smalltalk (see Pharo as an example) to rediscover the idea that there is NO APPLICATION but just one with various bits of code plugged is as needed. So for instance a PRM can include a mail system, a complete agenda/calendar system, ... without trying the Greenspun's tenth rule way, and fail as usual.
But Google locked down their APIs except for a chosen few pre-approved apps and I never launched. (It was bullshit---shouldn't have bet on the Play store, as I didn't have the political sway to be protected.)
Glad to see this being worked on!
Sad but real. The best way to model this is through risk. APIs can't be trusted to exist in the future, so relying on them is a business risk. I really hope proprietary platform APIs and the poorly justified app store companions, all fall under their own weight, at some point, and perhaps from the ashes we will see open standards emerge. One can hope.
Cheers!
Someone could probably fork Monica and build an E2EE version for people who care about that kind of stuff. That would be pretty interesting actually.
To me this sort of software is really powerful if you have the time to constantly tend to it. I wish I had this built into my mind.
One thing I am realizing over the years is that while it might seem so, the best “social people” don’t actually have this built into their mind, they have some external system for capturing facts like the OP, and do the work to maintain it.
Whether that is writing the name of the person you met at dinner into your diary when you get home (including info like spouse/children), or calendar invites for birthdays of everyone you know, or whatever.
Reading “How to win friends and influence people” gives the same broad advice.
As you say, it’s a lot of work (though it might look effortless to interlocutors). But the flip-side of that observation is that anyone can get better by just using these practices. (Of course, social people are by definition more interested in this sort of study.)
Can this software BE any more awesome?
Are we sure that to be a better friend, you need a digital reminder that your friends, their children, etc, exist?
I used to have calendar reminders of birthdays of friends, etc. I then removed them all. If it's really about a friend, I will remember without any help.
Not wanting to hurt loved ones by forgetting important dates is a choice one can make. Tools help.
As someone with a memory poor enough to qualify as an actual disability, it irks me to no end to see people equating ability to memorize (and also recall at the right time without prompting) with the amount that they value a person or relationship. It’s simply not true.
Sometimes Hackernews is like a very slow reverse search engine!
However I’m bit curious why it’s not deployed as a standalone desktop or mobile app? Is there a technical limitation?
I don't understand why companies keep building social networks and trying to capture this stuff.
to be clear, there's a lot I don't understand, so maybe it makes perfect sense, but I doubt it.
This is open source, and they even provide a ready-to-run Docker image.
What about the name of a dude you got introduced to at a party and they mentioned they played the guitar and you were thinking about starting a garage band the next year?
Look, you might think this is creepy, and I get that. But for some, this kind of software is a valuable crutch. And you wouldn’t kick a crutch out from under someone who cannot walk unassisted.
I personally don’t care. If you have to remember my face using a digital system because your analogue one won’t handle it, then that’s an accessibility feature.
> Can you remember the names of the children of all your friends? Can you remember the wedding anniversary of your brother? Can you tell the last time you called your grand mother and what you talked about?
I freaked out because I can't remember any of that stuff. I have to keep my kids' birthdays in an app just so I can recall how old they are.
https://www.pcworld.com/article/430990/how-to-teach-contact-...