Author of Monica/Chandler here.
Thanks for posting this.
As others have pointed out, we are rewriting Monica from scratch, codename Chandler: https://github.com/monicahq/chandler
I would really encourage you to push forward with OfficeLife. I believe the HR space is primed and ready for a decent open source offering. For what it's worth, APIs would be super useful, e.g. in the recruiting world there are hundreds of different background checks etc. that anyone serious needs to integrate with.
I am not too sure about officelife, but i think there is a market for internal relationship management at middle and large companies - often a mark of success is managing the internal network.
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
I've never heard of this software category before. For decades, I've managed this info with an online calendar (annual reminders for birthdays, for example), and online contact/address book (notes section heavily levegered). This is pretty cool - thanks for bringing it to my attention!
First, thank you for your work. I must admit though I was hoping that the rewrite would be in Go (or Rust) for the simple use case of a dead-simple binary deploy with a built in sqlite or rocks/level database that can handle as many users as you can throw at it on a $2-5 VPS instance.
(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)
In terms of simplicity, nothing beats PHP. It's easily deployable everywhere, everyone knows how to use this simple language, and the Laravel ecosystem is fantastic. But I understand what you mean.
I've been using PHP for a decade and recently started building APIs in Go. Everything about the process has been significantly simpler, from packages to testing to deploying and debugging. I don't think I can ever go back, and this is coming from someone who still loves PHP and works with both Go and Laravel daily.
I've been exploring doing some of my PHP stuff in Go and my opinion has been the complete opposite. PHP, I can just start composing a page; Go, I have to implement a router and serving static content.
This is only true if you have a LAMP server already. On none of my servers runs PHP, so setting that up would be definitly more work than adding another binary to my systemd.
How so? If you use Docker, there are all-in-one images. If you use conventional deployment, there are howto guides and/or meta packages to get things up and running.
Besides, a lot of people use shared hosting for any number of reasons. Anything not PHP based is doomed there.
You can self host. We highly recommend that you self host. We prefer if you self host.
If you use our own version, it’s not as safe, obviously, even though we do our best to keep it secure.
No. It's a codename in reference to Monica and the Friends tv show. Chandler being the one who dates Monica (no spoiler).
Right now we have two repos on Github, but we have to find a way to merge Chandler to Monica in the future so we don't lose those precious stars :-)
I usually despise comments that point out that two pieces of (almost always unrelated) software share the same (or a similar) name. That doesn't apply in this case—
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.
Parent isn’t wrong. Chandler was a very interesting distributed PIM in (I think) the very early 2000s. It collapsed under the weight of its own ambition but it’s a significant piece of software history, one of those alternative paths.
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.)
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?
Author of Monica/Chandler here. I didn't know that existed, thanks for pointing that out.
That being said, Chandler is the codename. It'll be renamed to Monica once it's ready.
> [...] 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.
Every re-write I’ve ever seen or been a part of, has either failed or taken way longer and a lot more effort than initially projected.
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.
Author of Chandler here.
While rewriting the project is extremely fun and definitely a very good learning curve for us, we actually care A LOT about our users.
I believe Chandler is much, much better to use than the current crappy Monica. It's easier, better UI and UX wise, and have way better features. And we are working our asses off to provide an API, and an importer to let you import your data so you won't lose anything.
I agree, while we are rewriting the software, we don't have time to do anything on the current codebase, except bug fixes here and there. It's a price we have to pay unfortunately.
So why do we rewrite? It's simple - the current codebase is old, and complex, and not fun to work on. We have merged things in the codebase from the community that we shouldn't have merge. The DB structure is old fashioned, and not flexible, so migrations would be a nightmare to do. I'm not saying it's not possible to improve the current codebase, but... that would be an actual job, and we don't want it to feel like a job.
> Every re-write I’ve ever seen or been a part of, has either failed or taken way longer and a lot more effort than initially projected.
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.
Thanks! Over the years I've seen several companies raise VC money for the personal CRM idea and fail. In a way, I'm glad they didn't raise outside capital and are able to sustain themselves while building something that they are clearly passionate about.
Author of Chandler here. We are able to sustain the server costs, but we have full time jobs "on the side" because it's not sustainable. I don't know if it's ever will. Don't care :-)
Raising capital would make this project a full time job, and put tremendous pressure on having to generate revenues. We don't want this pressure at all. We want to provide a nice and useful software because we are geeks and we want to do something good. I know it sounds naive and cliché but it's true. And if the project buys us a new computer from time to time, that's all that matters.
Founder of Monica and Chandler here.
It's so easy that the rewrite (aka Chandler) has taken Alexis and me 11 months so far, as a side project, and working most nights and weekends (check the number of
commits).
I know that Monica appears to be easy, and Chandler also, but it's not easy. Making a clone for yourself is easier, although not that easy if you want to replicate all the features. Making a clone for an entire community, which hosts Monica in tens of different configurations, means having a robust CI, a pipeline to package and deploy Docker images, a solid API, and so on and so on.
I thought building a project like Monica was easy at first, but 6 years in, I can confidently say: it's really not.
I'm sure it's not the most sophisticated software, but the repo has 3,736 commits over several years. I would imagine it would take them more than a few days :)
Have been using https://clay.earth for this and like it so far, a bit less manual work to keep it updated - but have used Monica and Evernote for this in the past with good success too.
Not the person you asked, but I came to leave a similar comment. I was curious about Monica, but for a variety of reasons it didn’t click for me.
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.
This is the type of software I would really prefer not to have on a server. The only part of this I would want not on my device locally would be an encrypted backup.
It's self hosted, so you could just run it on the local machine. It's a pity it uses MySQL because pgcrypto could enable you to make the database publicly visible.
Monica is quite different though - it's primarily for personal relationships, rather than professional ones. The tagline on the linked homepage is "Monica helps you organize the social interactions with your loved ones."
Sorry, I was commenting on the "not to have on a server" part. People have far more sensitive stuff on servers. Surely, CRM info of a big contract has way more at stake that notes about our mother in law. In fact, we have centralized all this sensitive customer data of so many big companies of the world in another company.
I prize all FLOSS effort, but try to observe a thing: here is a "PRM" (CRM), there a webmail, there something else, ALL not integrated AT ALL. It's not possible to integrate them since they are different applications.
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.
I built an Android app a few years ago in a similar vein. It would look at texts and call logs (email was next) and use it to prioritize social relationships from your contacts. Then it would let you set goals for contact frequency, make notes, etc.
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.)
> But Google locked down their APIs except for a chosen few pre-approved apps and I never launched.
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.
Thanks! To be honest, I’m not sure what change, or series of changes, finally lead to the app getting approved. As for keeping the permissions that the app has, well, let’s just say, after reading too many posts about developers running into issues with these permissions, I’m surprised I have not yet had them revoked! For what it’s worth, I documented the fun times I went through to create this app at https://medium.com/@mtc.dev/my-first-android-app-story-331c9....
The one big problem I have with this (and I do take notes after some types of conversations with for example first dates through fifth dates to remember important things about people), is that I fear that if I truly took good notes on conversations with loved ones that if the data ever gets leaked / hacked that I've just 1000% fucked everyone I've spoken to and took notes about, if I record anything that is highly personal and private to them.
Offtopic, but I am reminded by this idea of "Personal CRM". I would like to have a universal "Game ERP" system that I could plug-in (via mods) into different computer games, to organize inventories, keep track of production, plan goals, manage resources, chart progress etc.
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.)
Obsidian seems to be a pretty powerful tool honestly a bit intimidated by it. I am trying to understand how important a relationship manager tool would be in both the professional and personal context.
https://forms.gle/SxRjGV73L1fGt2df7 if you're interested in adding your input.
So far many people are interested in having this solved for them but the time-to-value is too much overhead having to capture all the data and the importing of contacts from other places seems to be a real struggle.
I think it was around 1,000! At least last I remember that's what the limit was. I tried splitting my contacts into multiple groups but the effort wasn't worth it ultimately.
> Monica lets you quickly and easily log all those information so you can be a better friend, family member or spouse.
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 everyone has a good memory. Having a terrible memory isn’t a choice someone makes.
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.
+1 I don't gave a generally poor memory but my memory for dates is horrible. I've missed my loved one's birthdays and important life events before, though generally not by much, enough to disappoint. Using tools to help with this has been life changing.
Nothing wrong with getting some help from automation though. It makes things more effective, so if you want to keep relationship with friends/family then you will get that, if you don't want that person to be in your reminders, just remove them. It helps keeping your mind free for other stuff.
My sister is autistic and was excited when I sent this to her. She struggles with these types of things, despite being extroverted and deeply caring of her friends.
Thank you for posting this! I saw this posted on Hackernews a few years ago. I've looked for it since then a few times when wanting to get started on relationship management but could not remember enough about the project to find it via search engine.
Sometimes Hackernews is like a very slow reverse search engine!
Really love the concept, will definitely try it on my raspberry pi. I’ve been trying to keep notes on likes/dislikes of acquaintances and this is way more organized.
However I’m bit curious why it’s not deployed as a standalone desktop or mobile app? Is there a technical limitation?
I've not used Monday, and I only used Asana for a few days when it first came out years ago. But i have used Monica somewhat minimally over the last year. So, my comments don't offer a fair comparison...But what i can say is that Monica hits the sweet spot of more than someone manually keeping notes in their mailbox or addressbok....but less than something like Salesforce, etc. Its actually well built from its minimalist UI to its succinct feature set to its basic (but good) notifications emails. If you're a sales person, or some actor's agent, or maybe work on a sales team, then maybe a more comprehensive CRM might be suitable...but for most other use cases, something like Monica works, and works quite well. They also offer a free plan (https://www.monicahq.com/pricing) with feature and contact limits, but its more than enough to get a feel for the service; to see if you might like it or not. (Considering that this is a side project for the creators, the limits are fair in my opinion.)
I'm going to split hairs here, but i disagree that it is only for specialized purposes. I honestly believe that it is good for general purpose, but simply smaller scale. So, yes, agreed with your note on it being smaller scale. But i do believe that it can successfully be used for many, many scenarios fit for a CRM. I stick to my opinion that anyone thinking that they need functionality of a CRM should begin with a smaller scale tool like Monica, and then over time see if an "upgrade" to a larger-scale CRM is appropriate. Just my opinion of course. :-)
I haven’t used Monica yet (though I’ve been considering it for a while), but I can tell you straight away that Monday and Asana don’t let you self-host.
I wish I had a memory good enough to remember the names of anyone besides my own family and the people I interact with on a weekly basis. Actually scratch that, I don’t even remember the names of some of my extended family.
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.
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?
Author of the project here. Sorry about this.
Monica is not for everyone. I built it for me because I can't remember stuff. It's not my fault, I have a really bad memory and I think I'm somehow autistic. I would prefer that I didn't need it, and I hope no one will ever need it, but we do.
So for a certain type of people, it's useful.
Do you know that this tool is used in a lot of religious organizations? For prison visitors? For clubs and associations? It's good that some people find it useful for them.
> 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.
Presumably, because it’s perceived as technology intruding into a very personal and intimate sphere that’s social relationships with people you know very well.
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.
For anyone taking this the wrong way, I'll frame it differently: My OS has my structured and unstructured contact data (including their relationships with me and to each other), a way to attach contacts to calendar events and notes, and a standard API that apps can use (at my discretion) to access that data. How does Monica use/improve on that?
Monica seems like a pretty pedestrian contact management app to me. I’m struggling to see what’s impressive about it over, as you say, my iPhone, or, say, Notion.
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 :-)