Growing pains and a dose of Go: real-time features for this Rails app

Cover for Growing pains and a dose of Go: real-time features for this Rails app

In this post, we’ll explore how Evil Martians leveraged Go for real-time processing in a Ruby on Rails monolith with the help of AnyCable. As we’ll see, Doximity’s success with AnyCable demonstrates that you don’t need to abandon your Rails app to achieve high-performance, real-time features.

In the high-stakes world of healthcare, every minute matters, and Doximity, the leading digital platform for U.S. medical professionals, recognized a critical pain point for its members: time wasted waiting on hold to speak with pharmacists, insurance adjudicators–or even the DMV.

Schedule call

Irina Nazarova CEO at Evil Martians

Schedule call

The challenge was clear: doctors, already pressed for time, were losing valuable minutes to hold music and automated systems when trying to reach colleagues or pharmacies on the phone. Doximity knew clinicians needed a solution that could intelligently manage these calls for them.

With over 80% of U.S. physicians and more than 60% of all nurse practitioners and physician assistants as members, Doximity saw an opportunity to improve daily workflow for its members, but faced a common challenge: adding high-performance, real-time features to the company’s existing Ruby on Rails app without a complete rewrite. It was time to find an answer.

Treating the problem

While running R&D, the Doximity team came across an Evil Martians article about managing phone calls with AnyCable and Hanami and reached out to us. We proposed introducing Martian AnyCable to their Rails app, which would preserve their investment in Rails while also providing the performance benefits of Go for real-time processing.

Over two weeks, Doximity’s team engaged in intensive sessions with Evil Martians that combined training and pair programming. This hands-on approach aligned perfectly with Doximity’s culture of continuous learning, enabling their engineers to understand, build, and maintain the new system independently–a key factor for companies looking to maintain control over their technology.

The results of Doximity’s work with Evil Martians were immediately apparent. With the addition of AnyCable-power real time server, Doximity members making a call within the app can now simply tap “Hold for Me” and let Doximity’s digital assistant do the waiting. Then, once a real person comes on the line, users receive an automated alert to hop back on and resume their call.
The system (depicted below) integrated seamlessly with Doximity’s existing infrastructure and improved scalability for future real-time features.

Beyond the technical benefits, for the doctors, nurses, and other healthcare professionals using Doximity’s platform, this innovation translated to less time waiting on hold and more time focused on patient care–a win for healthcare providers and patients alike.

But Doximity didn’t stop there! They also contributed to the open-source community by funding a long-polling fallback feature in AnyCable Pro, crucial for corporate networks that block WebSockets.

No need to put the future on hold

Whether you’re a startup or an established company like Doximity, if you’re hitting the limits of your Rails application’s real-time capabilities–it’s time to act. Schedule a call with us to explore how to supercharge your Rails app with Go-powered real-time processing.

Schedule call

Irina Nazarova CEO at Evil Martians

Whether you're a startup or an established company, if you're nearing the limits of your Rails app's real-time capabilities, it's time to do something. Schedule a call to explore how to supercharge your Rails app with Go-powered real-time processing.