ReadMe.io has created a simple, gorgeous platform for publishing technical documentation running on Node.js and Compose Enterprise MongoDB and Redis.
ReadMe.io is one of our favorite apps. You’ll find ReadMe powering our documentation at help.compose.com. We’ve been using ReadMe for more than a year, and as it turns out, they’ve been a long-time Compose customer as well. ReadMe have been running on MongoDB and Redis for a couple of years and recently switched from Compose-hosted deployments to self-hosted Compose Enterprise.
ReadMe.io has built a platform for collaboratively writing technical docs and API documentation. ReadMe does several things differently from its competitors. First, it allows visitors to test APIs right from the documentation pages which saves users time and gives them a good feel for the tooling. Second, it allows anyone with permission to push changes quickly and easily; no more waiting on other team’s pull requests or time tables for publishing. And third, it allows anyone (employees, customers, etc.) to suggest changes, much in the same way a wiki works, but with greater control over what actually gets published and how the pages are designed.
Founder Gregory Koberger said he started ReadMe because he wanted to put the same level of care and attention into developer sites that most companies put into their websites or apps. Ashley Chang, who focuses on the customer user experience at ReadMe, looks at it from a slightly different perspective, saying "we want to build better developer communities around documentation.”
Most documentation tools have taken the “O’Reilly book approach” according to Koberger, by digitizing the content but not improving on it. “Documentation very much tends to be just paragraphs of text that know nothing about the person reading them. Your eyes glaze over when you look at it. Our goal is to make it more personalized so that everyone sees what they need to see.”
Box is a good example of a company that turned to ReadMe and reaped immediate benefits. “Box has a big developer platform team and a large community of users. But updating the docs and APIs was very slow. They also didn’t have a great way for people to try the API, to play around with it, see how it works," said Koberger. ReadMe made it so that anyone on the team can edit; whether it's a new page, a small text edit, or metadata update, ReadMe makes it easy to do.
ReadMe is built on Node.js and uses Express web and AngularJS UI frameworks to deliver the front-end. The decision to build the project on Node.js in part led to the decision to use MongoDB and Redis on the backend. MongoDB is used as their primary data store and Redis is used as a queue for email and for caching certain database calls (reading, not writing). The team didn't have much experience with MongoDB, so they turned to Compose to ensure their deployments were secure and backups were working.
“If you’re not in the position to have a full-time DevOps person, the easiest way to feel secure is using Compose,” said Chang.
Compose-hosted deployments bypassed much of the work a full-time devops team would have done, but it was also the interface that helped seal it for their team. “I loved the interface," said Koberger. "I loved how easy it was to get set up. I was so close to quitting MongoDB, and just said, you know, screw it. I already know how to use Postgres; I'm going to use that. And then I started using MongoDB on Compose and I was like, oh, okay, I actually can get started, and it works.”
In February 2016, when Compose Enterprise was released, ReadMe was one of the first customers to migrate from a hosted option to an AWS VPC. “Enterprise has been a nice halfway point where we can own our data, but still get the benefits of making sure everything's backed up, we have that nice interface, and so forth. It’s the perfect medium between what Compose offers with its hosted product, while giving us more control over our servers.”
The company is growing as fast as ever and now boasts more than 20,000 projects and 90,000 users, and we are happy to be counted among them.
ReadMe's Owlbert image courtesy of ReadMe.io