Blog index > Growing a company

Don't be smarter than me

Most sites these days make use of all the data they gather. Amazon recommends other articles I might like based on what I’ve already bought or consulted. Twitter, Instagram and Facebook try to suggest new friends or content I might like.

While it makes sense for a shopping website to use all the data it knows about me to help me buy better things for me, I find it extremely disturbing that social networks do that for me.

Everything social is way too personal for companies to mess up with it. They don’t have all the cards at hands to determine what those recommandations will do to me. Moreover, they think they know what we’ll want, but in my experience they are very often wrong.

The trend these days is to help users by doing all the work for them - including all the work they didn’t want the site to do in the first place.

On Twitter I don’t want to know what content other users have liked.

On Facebook I don’t want to be suggested to have more friends. I’m fine with the friends I already have - and if I’m not friends with other people it’s probably for a reason.

I don’t want this to happen on Monica. I think we need to provide a tool that does only what the users want the tool to do.

This doesn’t mean we shouldn’t provide features that help the users by analyzing their data. But these features should never be a surprise to people. And they should never give the feeling that the site knows too much about its users.

Year in review

I’m Regis Freyd and I’ve been developing Monica for one year and a half now. Monica is an open-source personal relationship management software and is currently a side project, as it doesn't generate enough revenues to allow me to work on it full time. The journey of 2017 has been pretty great and this is what I’d like to write about today.

How Monica became popular

Monica was built originally in June 2016. I worked on and off on it for a couple of months, then submitted it to Reddit. Few people cared, even fewer people registered (a dozen of people) so I stopped working on it and focused on my career. In May 2017, after having changed jobs, I wanted to go back to work on something I love very much: side projects. So every day after work, I worked on Monica. I did this for a month, open sourced it on GitHub, and got discouraged again. I called a friend, told him that I’d been working on a project for a year now and told him that I wanted to delete the project because no one cared at all. I said that I would delete the entire repository on Monday (we were Sunday). I went to bed, and in the morning, before deleting the project, I wanted to try one last thing: posting the project to Hacker News. Since all my other projects in the past never caught any interest on HN, I didn't have any optimism for this story. I posted the link, and went away for two hours.

When I came back to make sure that no one cared, I saw that I was on page 2 on Hacker News. I was mind blown. I got like 30 upvotes and a few comments. I couldn’t believe it. People seemed to like the project and the idea behind it. They also loved the open source aspect of it. Then it escalated quickly.

In less than an hour, Monica reached the first page on Hacker News. Then, a few minutes later, I reached #3, #2. And then it reached #1. And stayed number 1 for two days in a row, with almost 1100 upvotes and hundreds of comments.

We went from 10 users to 5600 users in a couple of hours.

The next day we bumped at 7000 users. Monica became the most trending repository on GitHub, went from 0 star to 1700 stars in an hour.

And then, people started to send emails. I spent the next three days replying to hundred of emails of users saying that they’ve been waiting for a tool like that for years now. A few VCs reached out to me and wanted to talk. All in all, I talked to 4 venture capitalists from New York and San Francisco. I quickly realized that VCs didn’t have at all the same vision that I had for the product, and wanted to put ads and other “intelligent” ways of feeding data to Monica. This was so against my values that the discussion stopped there.

Today, Monica has around 10,300 users and 90,000+ contacts. The repository on GitHub has 3788 stars and 409 forks. We’ve received hundreds of pull requests, and the community has opened 300+ issues. It’s clear that the project has become popular and that there is a clear interest. The Docker images have been pulled more than 13,000 times - it’s almost impossible right now to know how many instances of Monica run in the wild, but I guess a few hundreds. I have around 45 paying customers - but to be fair, at the moment, there is almost no incentive in having a paying account, so people who take a paying account are doing so to support the development, basically.

I hesitated a lot before open sourcing Monica. My biggest fear was that people would criticize my code, see how bad it was. I had no unit tests. I took some shortcuts to reach my goals, and the code was far from being great. To my surprise, only one person mentioned the quality of the code. No one else even talked about it. People were just grateful that the tool was there and open. The secret is to not be scared of sharing your work in the fear of being judged.

What now?

  • The initial growth has slowed down. Around 10-20 users subscribe each day. Keep in mind that I have done no marketing whatsoever except this one post on Hacker News. So while the number is low, I find it quite incredible to have that many signups.
  • I receive a lot of feature requests. I’m really grateful for them, but I can’t do everything. In part because this is to much work, and in part because I want to focus on features that people will want to pay for. This is the only way to make this project sustainable in the long term. Keep in mind that I work on this at night and on the weekend, but at 20-30 hours per week, it will be harder and harder to keep this rhythm in the future.
  • Letterbox is a huge source of inspiration for me in terms of business model, and their Pro offering is probably something I’ll copy.
  • One of the things I’d like to do is to ship a mobile application in 2018. I believe this is what people want the most, and this is why I’ve shipped an API two months ago. I have a lot of work to do for this, and the first part would be to learn how to actually develop a native mobile application.
  • I think Monica can become the only source of truth about your contacts and your agenda. This is where we are going in 2018, as well as a great place to store your feelings.

Status - September 2017

I've been a bit less active on the communication side in the last 40 days. I'm also slower at responding to issues and merging pull requests. This is not a situation that I like, but it's difficult for me to change it in the next month or so. It'll get better though.

What the hell am I doing right now

I'm working as much as I can on the project. Every free hour that I have is invested on Monica. To reassure all the people who keep sending me emails about my commitment on the project and the fact that I won't let it die soon: I'm still extremely motivated about it as I was before and this is still a priority for me.

However I'm working at the moment on the API and making sure that it works like it should. I'm also building the documentation around it, because documentation has to be excellent in order for people to use the API. For these reasons, and also because this is still a side project at the moment until I find ways to make it my full-time job, I don't want to be distracted by the feedback, bugs or new features right now. As soon as the API will be done, I'll go back to answering to the community. Unfortunately, I simply don't have the physical time to do all the things I would like to do, and I need to focus extremely aggressively if I want to get things done.

What's next

In the coming days, a first draft of the API will be released - with new methods added after that.

Once the API is done, we need to focus on giving some love to the notion of activities done with your contacts. We should also make the dashboard more useful, and change the Journal so it becomes something actually useful. Also, we need to implement the Carddav protocol, although I'm unsure at this point how well it will integrate in the current stack.

I'm sure this project has an enormous potential. If you are a current user, I'm still looking for feedback and testimonials. Thanks for your help!

50 000 contacts

We've just reached an amazing milestone.

footer

This is amazing and a great milestone that I'd like to share with you all. Users have uploaded more than 50 000 contacts on Monica so far, and it keeps growing every day. This doesn't include the instances that have been downloaded and installed on their own servers.

On a personal note, I'm amazed by the community around the project. On GitHub, we've received over 200 pull requests from the community and people seem to share the project all around Internet to spread the good news.

I can wait to see where we'll be one year from now. Thank you all for your trust.

Why open source? Are you crazy?

A lot of people have sent me emails about why Monica is open source. There are a lot of reasons for this that I want to describe at length here. Open sourcing a consumer product and at the same time trying to make money out of it is not something that is that common (unfortunately) and perhaps this will inspire others to do the same. I've been personally inspired by how Sentry, GitLab and many others have created companies around open source products and even if Monica doesn't generate any revenues yet, I wanted to share my own thoughts on the topic.

The pros of open sourcing your product

  • I've always wanted to create an open source product. Probably by idealism. I've been using open source products for as long as I can remember and I wanted to humbly contribute to the open source ecosystem in return. I also thought it was cool on the CV.
  • Monica contains a lot of personal data. I would argue that this data is way more potentially harmful than what people put on Facebook. For some it's a huge privacy concern. By making Monica open source, and providing ways to install it yourself on something that you own and control, it's up to you to decide whether you want to take the risk of letting someone else host your data, or if you want to keep it under your control.
  • Because of the sensitive nature of data hosted by Monica, and because I'm a single developer who is not as good as the community as a whole, I needed to open source the product to make sure hundred of eyes scrutinize the code and look for bugs, potential breaches and improvements. And find things that should be fixed or enhanced much quicker than what I could do myself.
  • When people have access to your source code, and become users of the platform, you will be astonished by how much they will contribute. They will submit pull requests with great ideas and concepts, that you can immediately put in the product for everyone to profit from it. It's awesome. Of course, all ideas are not great and you will refuse pull requests from time to time, for various reasons. But globally it's extremely positive and you will receive great new features.
  • In an age where social networks are extremely opaque in what they collect and how they use the data, people are more and more concerned about their privacy. For a very good reason. Monica doesn't display ads and does not resell any data. But why take my word for it? For one reason: the freely available source code is exactly what is in production. I don't maintain a second fork with private modifications. Therefore, everything I do is transparent and users can control that I don't do anything nasty. It's all about transparency and creating a relationship based on trust.
  • Developers are the most important part of an ecosystem. When developers like what you do, they will create an ecosystem around it and cool things that you would have never thought about. This is a very strong magical moment when that happens. Developers are also powerful influencers and your best ambassadors. Non geeks people reach out to them often to ask for the latest tech advice. And if they like Monica, they will talk about it with almost the same reach as a post from a Kardashian would in a gossip magazine.

The cons of open sourcing your product

  • Regardless of your license, there is a risk that people take your code and spin off a company around it, and take the market you wanted to address. There is nothing you can do about it. A popular maxim says that an idea is worth nothing, only the execution matters. In Monica's case, it's more than an idea - the code is already there and it's already an execution. The more mature the product will be, the more it'll be tempting for other people to steal the code. I'm ready to live with it, as long as the community benefits from the results of this.
  • If you get big, you might become less attractive to either venture capitalists or potential buyers. But you know what? In my case it is good news because I'm not building something for them, I'm building something for users. I don't care about what VCs will think about the product.
  • It is time consuming to deal with the community. Don't get me wrong. I love interacting with them, and I feel extremely blessed that there is a passionate community around Monica already. But while I'm trying to build what's next for the product, I spend a lot of time every day checking issues, verifying pull requests and answering emails. Like, a significant part of my time actually. Again, I'm not saying it's bad. Actually I'm enjoying it greatly. But this time sink is something to consider if you decide to open source your product and you need to be willing to participate and take care of your community.

I can't think of any other drawbacks. You should consider open sourcing your next idea.

Strenghten the personal relationships with your friends and family.

Sign up

Company

Resources

© 2018

Proudly Canadian