In conversation with Pranav Raj S, Author of Chatwoot
Chatwoot, started as proprietary software, reborn after two years being in a private repository when Pranav and his teammates decided to choose an open-source license.
Chatwoot, an open-source customer support platform, started as proprietary software for instant messaging platforms like Messenger or Twitter, reborn after two years being in a private repository when Pranav and his teammates decided to choose an open-source license. Recently, GitHub India shared Made in India notable projects, listing Chatwoot in that collection. It has been a year since they have open-sourced their project and the response from the community is outstanding. Read this full interview to know more about Pranav’s journey and how his team build Chatwoot.
What was your first open-source contribution?
It was around 2014 when I discovered a project called SailsJS which has similar guidelines like Rails but it was JavaScript. I contributed to their documentation. While setting up the project I found some errors, figured an issue in their documentation, contributed the fix to the project.
What is your motive behind open source contributions?
There might be multiple factors behind this, I cannot pinpoint to one thing which led me to contribute to open-source but there was an impact from the culture. When I was in school till 2009 there was a shift from Windows to GNU Linux in all of our school computers. This was something which helped me to learn what is free software and what is proprietary software. After I joined college, I used to attend events organized by SMC, like DebFest and hackathons which helped us to learn more about open-source. I used to meet people who were working on open-source projects. I get to know that anyone can use free and open-source projects freely, and can build something on top of it. Also, in college there was a group which used to promote open-source, they used to introduce us with open-source projects and help us to how to start contributing. These groups were led by people who were contributing to Linux, so these college groups were also something that helped me start contributing.
Tell me about your project Chatwoot? Why did you choose open-source license?
We started Chatwoot in 2016, a couple of my team members were working in Freshworks. We identified a problem, thought this could be something we can try building. It was a customer support solution for instant messaging channels like Messenger or Twitter, but the problem was not big enough and people were not interested to pay us for this solution. We shut down the project in 2017. We were passionate about the customer support space and were updated with changes happening around it. There is a fundamental shift in the way people think, like GitLab being successful. There are companies who adopt open-source technologies on their stack, there are many examples in India, most of us are open-source consumers even though we don't understand it. Most of our stacks have in some way have an open-source component. The code was there in a private repository for around 2 years. We thought, why don’t we put it out and see what happens. We just wanted some people to use it and see how it goes. We had this product which no one was using at that moment and it was okay for us to put it out and see how well that goes and to our surprise, it went very well and lots of people are using it right now.
How was the response from the community when you open-sourced your project?
To be honest, I lacked the motivation to work on this project. We open-sourced it somewhere around August or September in 2019. After that, I worked on it in my freetime for 2 months. One day I was sitting free and thought let's just put it on Hackernews and see what happens. I posted it at midnight, by 12:30 - 1:00 AM it was on the first page. People started coming to our website and started using it. I had to stay up to 6:00 AM that day, there was tremendous traffic, we got 10,000 visitors in 6-7 hours. It was a good feeling to see people want something like this. After Hackernews, there was good growth for us, we had great visibility, people used to come to us for new features, which helped us to build this product. It has been more than a year since we posted it on Hackernews. There are 25+ regional languages to which the project is translated, some of those languages I have never heard of. One of the things which helped us is probably the design, most of the open-source projects lack in design. Nithin, our co-founder, has done a great job on that. People liked the design, that's why people compare us with Intercom, even though we have fewer features. People say that they are willing to not have these features but still like to use the self-hosted version. It was a nice journey so far.
Tell me about your teammates and what are the coming features of Chatwoot?
We are a team of three founders. Me, Sojan Jose, he is an ex-YC Founder and Nithin Thomas, our designer, he has worked on a couple of startups before joining Chatwoot. Apart from that, we have one part-time team member, Muhsin K, he single-handedly did all the work for the mobile app. So currently we are a 4 members team. Some contributors work part-time, Subin T P, he works at Razorpay and Sony Mathew, he is also an ex-YC founder. We started Chatwoot as an alternative to Intercom but at some point, we figured this could be something more beneficial. If you take an example of Intercom, it is specifically designed for SaaS businesses or businesses which are around on websites and their features are mostly optimized for that. What we are trying to do is to aggregate the customers who might be on different channels like Facebook, Instagram or WhatsApp business to a single platform, so that those who are using Chatwoot can view a single profile of their customers on a single platform. We are planning to build a customer database which you can use to better understand the customers, who your customers are, where they are coming from and what they have done with your business. I think this would grow to a place where this could be a self-hosted customer database which can be used as a single source of truth to nurture your leads. That’s something which we are planning to build on our platform, but right now it's an omnichannel customer support desk.
Who are the major contributors to your project and how did they start contributing?
Our major contribution is coming from the people who are using our product. When our user finds some issues or bugs, they contribute back to the project saying that “This has a bug and this is the feature which I think is useful”, and they start contributing back and I think there are a couple of contributors who are contributing regularly and some of them contributed when they experienced bugs and need of some features, which we were not aware of, and it has been really helpful as we have been able to improve the product. So yeah it's our users who are our major contributors, not anybody else.
What is the biggest headache for you to maintain your project?
We are pretty open in that case if your contribution is somehow valuable to the project we try to get it to the codebase. Let's say a person changed some lines in the project and it makes it clearer to people who are using it even if it is just a document or trivial contribution, if it adds some value, we would appreciate the PR. Once you look at the PR you can figure out whether that person has given some thought or not, and if that is there something then we add it to the codebase and if it’s not visible or it's just for the sake of creating PR we do not entertain them.
There are two things, first, the bug fixes, you understand that it was a bug and the fix is good, you can merge it. The second thing, which is the feature, which might be very specific for that particular user and might not be good for everyone else who is using the program, we make the decision based on that. We try to get their feedback, we try to understand if there is a way to do the same thing in a better way. It's case to case basis whether we will merge them or not, we try to give them feedback whether we should be moving ahead, or we should stay. Right now there is no governance model but it's mostly based on feedback or product direction we like to take
Are there any other projects in the same space as Chatwoot?
There are a lot of customer support solutions like OSticket, recently YC funded Papercups which is doing the same thing which we are doing. They have limitations based on usage. We have seen multiple projects, but to me, it is based on users and how you interact with users so that you can help them in some way. There is also a project called Erxes which is on GitHub, I don’t know whether it is free software or open-source.
According to you what is something that most of the open source projects lack?
One of the things that most open-source projects lack is UI/UX. open-source projects are built by developers who care mostly about functionalities. In general, If a project is successful, it would have an okay UI/UX, it won't have a bad UI/UX. If you have a bad UI or UX, most probably your project won’t get much traction. The bar might not be comparable with heavily funded startups or proprietary software but it would be a usable one. And if some project users have a problem with UI, they can pull requests for that. It's always open.
What are your suggestions to those who have just started their journey in open source contribution?
They should start reading about GNU philosophies, the core ideas of the Free Software Foundation, what is Free software, what is Open-source software, what is the difference between them. It will help if you have the core idea of why people are building FOSS. You may see many Twitter threads where people are saying it's free software then why are you charging for it. People need to understand that it's free as in “free speech, not free beer”.
Someone who is looking for an open-source contribution should understand what are the values that the community expects from you. You can start with trying out the product, if you find a bug, report that bug. That makes it easier for contributors to reproduce the problem. If you have a fix for that, that's better. One of the ways most people can start is by contributing something that they think that the project is lacking, and taking feedback from the contributors also helps. That's how I started. I started with doc contributions, which made that doc better. It's still there on the website which I am proud of. Also, don't create spam PRs.
Team Chatwoot
Links to know more about Chatwoot:
Pranav’s talk at IndiaOS
Chatwoot GitHub link
Chatwoot Website
Hackernews Thread
Made In India Collection by GitHub
Vishal Arya
Program Director, FOSS United
No comments yet. Login to start a new discussion Start a new discussion