Kam and Alex here. We’re founders of Papercups (https://papercups.io), a live customer chat app written in Elixir. We offer an open-core self-hosted alternative to Intercom for companies that are security and privacy conscientious.
Alex and I met in SF around 6 years ago, and have been hacking on small projects together for the past couple years. Before covid, we would spend many Sunday afternoons in coffee shops building prototypes of whatever our latest and greatest idea was… most of these fizzled out after a few weeks or so
For 2020, we wanted to take the idea of “building something people want” a bit more seriously. We started off trying to build SaaS tools for ocean freight logistics companies. That failed, but we learned a ton in the process.
After our experience in freight we wanted to work on tools that are a little closer to home and tried a completely new idea: a web app that makes it super easy to manage and deploy simple cron jobs and other recurring/scheduled tasks.
One thing we learned from the feedback on this product was how difficult it can be to set up and schedule email campaigns. This definitely resonated with us since we've both had this pain professionally. While working at Stripe, one particularly painful project Alex worked on was setting up email campaigns to notify their customers of new regulations. I had a similar experience at Pivotal where I worked on a project to email users about security updates.
So we started tackling this particular pain point: setting up and managing email campaigns. A few companies already do this pretty well. Intercom is one, but it can be prohibitively expensive. And for companies that have concerns about sending their customer data to 3rd party services, these products aren’t an option.
At this point we figured, why not be more ambitious? Instead of just building an email campaign tool, let’s build an open core alternative to Intercom!
So here we are. We’re starting off with chat but we plan on expanding into email campaigns and push notifications. We chose chat to start off with because we wanted something that we could use immediately. For a lot of our previous projects, we had set up chat on our sites to engage with customers.
We’ve launched this repo under MIT license so any developer can use the tool. The goal is to not charge individual developers. Features like chat, canned responses, private notes, and auto assignments will stay free and open source. Right now we plan on making money by providing things like a hosted version and support contracts. We eventually plan on making a licensed version where we charge for features that large companies care about like Active Directory support, Okta integration, and compliance exports.
Finally we decided to build Papercups on top of Elixir/Phoenix because it seemed like the best tool for a job that requires a lot of “realtime” functionality and first class support for websockets/channels. It’s been great so far! The frontend uses React/TypeScript. We may explore using LiveView in the future, but we wanted to start off with a frontend stack that we were familiar with.
You can check out our repo at https://github.com/papercups-io/papercups we have a ton of features in mind would love your feedback and any feature requests!
P.S. This is our first time working in Elixir so would love any feedback there too!