A buddy and I recently started working on Papercups with the goal of building an open source Intercom competitor 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 Papercups
We also have some Github issues set up if you want to contribute
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.
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 https://github.com/papercups-io/papercups/issues/75
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
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 (https://github.com/papercups-io/chat-widget#using-in-html) but it could definitely be improved
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?
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
If this materialises, we’ll be one of the first to sign up for a yearly support contract!
I was excited then bummed to learn the mobile client is in React Native. Most apps are still native iOS and Android, but more importantly, Flutter is fast becoming the cross-platform choice for greenfield projects.
I know you don’t have a ton of engineering bandwidth and your web client is already written in React. But do consider native and Flutter libraries when expanding your team. All the best!
Definitely! We’re starting off with React Native because we heard a bunch of complaints about how Intercom doesn’t support it, so we figured it was a good place to start
Certainly would like to add other mobile clients once we have the bandwidth… out of curiosity, what are you currently using? Flutter?
Yes, only using Flutter and not looking back.
We just released our Flutter client https://github.com/papercups-io/papercups_flutter would love any feedback
First off just wanna say damn you guys are beasts for learning and releasing the Flutter client so quick. Kudos
Also what does your deployment look like? I noticed a bunch of docker files in the repo
Thanks! The Flutter client came from an open source contributor who has been maintaining it for us. We use heroku for deployment but we’re working on improving our docker/kubernetes deployments.
Sweet! Care to share the thought process on picking Heroku? e.g. vs Render, Gigalixir, or plain Releases?
We mainly used Heroku because we had a startup deal where we didn’t have to pay for it. It was the one we were most comfortable and familiar with which is why we chose it.
After 400 commits +50,000 lines of code we just did a 2.0 launch on product hunt