[Article] 💬 How to design a customer service platform like Intercom or Zendesk?
I have just published a new article with an extensive overview of Papercups, a feature-rich open source customer service platform with real-time chat capabilities. Pepercups is based on Elixir/Phoenix Stack.
The article covers:
- 📐 High-level architecture of the platform & the main data model
- 💬 Handling communication with customers across 7 channels in a uniformed way and figure out to which ongoing conversation it belongs
- 📧 How to receive emails via AWS SES
- 📧 How to sync emails from GMail
- 📲 How to receive SMS via Twilio
- 💬 Embedded Chat Capabilities via Phoenix Channels & Presence
- 👀 Usage of Slack/Mattermost as reply channels
- 🪄 Webhook and Lambda Function functionality to extend the existing functionality
- 👀 Advanced browser session tracking and reply
- 📈 Reporting, analytics, billing strategy
Papercups is an excellent example of how to build a SaaS platform in a radically simple way with Elixir.
In the scope of this review, I have given a look at Elixir/Phoenix for the first time in my life and found it extremely readable and elegant as well as unparalleled in terms of how much you can get out of it for so little effort.