An open source alternative to Intercom/Drift/etc

Hi everyone!

A buddy and I recently started working on Papercups with the goal of building an open source Intercom competitor :slight_smile: We’re pretty new to Elixir, but it just seemed like the perfect tool for the job. We’ve been having a lot of fun with it lately, but would love to get feedback from more seasoned Elixir devs!

Here’s a demo of our chat widget if you want to play around with it

We also have some Github issues set up if you want to contribute :slight_smile:

Excited to be a part of such a great community!


That’s really very interesting, I’ve always thought Elixir would be great for that.


Cool project!

1 Like

Very nice!

Thought about XMPP support? We currently use Olark for live chat and Adium (on Mac) as client software. This way we don’t have to have the chat as a browser window AND we don’t have to live with the (currently) crappy chat software that some of the other provides have created.

We can simply use standardised XMPP clients.

We’re looking to migrate from Olark because of its crappy loading times (PageSpeed/Lighthouse).


Haven’t thought about it yet, but seems like a great idea! I’m honestly not too familiar with XMPP, but I created a new thread in our repo to discuss

Still pretty busy just trying to get all the basic stuff working, but would love to tackle this in the near future if possible! If you have any additional thoughts on it, feel free to post in the issue above :slight_smile:

1 Like

This looks very promising, nice project! Just wanted to mention some features enterprise users might need:

  • assigning a Manager to Customer Support Accounts
  • API/Integrations for existing backends with Customers to automatically display Customer name instead of Anonymous User.

Thanks! We have a way to set customer metadata on the chat widget ( but it could definitely be improved :stuck_out_tongue:

When you say “assigning a manager to customer support account”, do you mean having a manager/admin role in the dashboard to manage your customer support agents, or do you mean assigning an agent to a given customer?

1 Like

The customer metadata is exactly what I meant, perfect!

Yes, I mean having a Manager role to manage customer support agents, because most enterprise use cases would involve tight control over the agent registration and assignment process. You might have different support agent tiers for a Manager to assign and track agents. And, with the customer object available, some customers might have dedicated agents (or tiers) assigned to them based on priority or availability.

Got it, makes a ton of sense! That’s definitely on our roadmap :slight_smile:


If this materialises, we’ll be one of the first to sign up for a yearly support contract!