We're excited to announce the launch of Muut IO. It's an API focused version of our popular Muut service. We've strived to make Muut incredibly extensible and flexible — excelling in a wide range of use cases. Today, with the launch of Muut IO we've taken the ability to customize Muut and turned it up significantly.

As we've been scaling our service to what is now over 2 million communities, we've had to build a robust infrastructure that deals well with a broad range of edge cases — from threads going viral and gathering millions of replies over time to sudden, massive surges in traffic. We've had to solve the problems that anyone building a large scale product with a conversational component would need to address.

Muut IO is our effort to give developers low-level access to the same infrastructure we use to power Muut, giving you the tools to develop your own scalable social product.

Muut IO infrastructure

We have a lot of interior pieces we'll be opening up as we connect it to API endpoints so you'll have even more ability to change internal behaviors of Muut to suit your needs moving forward.

For launch, there are some standout options you have on Muut IO:

Metadata storage in posts

We allow you to store arbitrary data along with threads and individual posts. This data is available on the client, in webhooks, realtime notifications, and even our events API.

You can inject metadata at the time the post is generated directly from the Muut javascript client. This data will go through to any realtime events and webhooks. You can also add or update metadata manually using our REST API.

The metadata can be used to implement a broad range of functionality:

Geo tagging

Associate locations with posts or threads. Store coordinates in metadata, then alter the display of threads or posts based on location — maybe render them in place on a map.


Build a support system where each thread can be checked as "solved." Store the solved status on the thread and then, on the thread list, render a graphic to reflect that status.

SoundCloud commenting

Build a SoundCloud style commenting for audio or video by storing time data alongside comments.


Create tags for threads and allow users to tag threads and posts. You could even sort based on tags.

The metadata is just stored and passed through anywhere the posts are accessed. Imminently, accounts at the S level and above will be able to filter and sort content using the metadata values. So, if you built a ticket tracking system on top of Muut IO and in the metadata, you stored values for: assigned, priority, status, created, you could, for example, query and retrieve all threads assigned to johndoe with a status of open sorted by priority and created date.

The metadata can  be used to implement a broad range of functionality

Muut stores content hierarchically, giving you a ton of options for structuring your data. Want conversations around geographic regions? You could have a node on the hierarchy for city, the parent node a state, and its parent a country. You can then access all content for a state by querying the state node, or even all content for a country by querying the country node.

The hierarchical structure used in combination with metadata sorting and filtering gives you an incredible amount of flexibility and control in how you access your data. In a possible support system listing all threads with a status of open (metadata filter) sorted by priority (metadata sort) within a particular geographic region (hierarchical query) becomes rudimentary.

Usage-based pricing

Our turnkey product is unlimited: we don't charge based on usage at all. That also means we have to put some restrictions on what we allow to make that model work for us. With Muut IO, by using a pricing structure based on your actual usage, we can do away with many restrictions limiting certain use cases.

Here's how it directly impacts you:

  • Muut IO accounts are closer to a total white label solution. For now, that means you can hide the Muut logo on the JavaScript client, and we're working on the ability to brand the other places your users touch the product.
  • The Muut manifesto that drives the turnkey product and ensures that our communities are consistent with our vision of an ideal discussion platform does not apply to IO projects. Developers building products on top of Muut IO can leverage our infrastructure to create something else entirely. Practically, this means features like pre-moderation, the ability to modify posts at a later date, and more are coming to our API. By using a pricing based on actual usage, we can do away with many restrictions
  • With Muut IO you can have multiple communities on the same subscription. Every Muut IO community comes with the equivalent of a Medium level subscription on Muut. That means right from the get-go you are saving money from having individual Medium subscriptions for each project. For those that need multiple unique communities for the same organization, this will significantly cut costs.

The usage-based pricing allows us to focus on building the best product for developers to extend.

CLI-based management

If you're like us, you love CLI tools that allow you to avoid constantly opening a browser, so we've put together a CLI to manage your project settings, manage your API keys, and monitor your account status.

There's lots more to come as well! We're actively expanding the CLI to give you comprehensive control and view of your projects and their data.

Developer focus

Muut IO Feature Cloud

We've worked hard on building a flexible, scalable, and robust infrastructure. We're incredibly excited to be able to start opening it up for developers to leverage. Muut IO is a manifestation of our commitment to making the most flexible platform for building social products.

There's a lot of exciting stuff we're working on behind the scenes for Muut IO that we can't wait to show you — but for now, we welcome you to check out Muut IO and perhaps build the next big thing on top of it!

— Your Muut team

Get started with Muut IO


Next Post