Four years ago, our team dedicated its development skills and efforts to create a digital product Selfnest, designed to connect individuals seeking mental health support with licensed psychotherapists. What started as a passionate idea has evolved into a functional platform allowing users to select their preferred therapists, schedule sessions, and communicate through text messages or video sessions, regardless of their location.
As part of providing seamless video communication on the platform, we recently transitioned from Twilio Programmable Video to Amazon Chime SDK. This brief case study highlights all the aspects of the migration, along with the challenges we faced and the benefits this migration brought to our platform and business in general.
Migrating from Twilio Programmable Video to Amazon Chime SDK involved changes across backend services, web applications, and mobile clients. Thanks to a well-abstracted architecture, the transition was manageable and incremental.
On the backend, the migration from Twilio Programmable Video to Amazon Chime SDK involved careful planning to maintain reliability and backward compatibility during the transition. The system’s modular design and abstraction of provider-specific logic made this shift much smoother. Dual Endpoint Strategy allowed QA and staging environments to test the Chime integration end-to-end without impacting existing production traffic. Finally, we used Feature Flags for controlled rollout, which also allowed us to dynamically toggle the video provider based on the environment, user group and app version.
The migration on the client side- web and mobile - focused on replacing Twilio’s SDKs with Amazon Chime while keeping the user experience consistent. Thanks to a shared abstraction layer for video functionality, most changes were confined to the SDK-specific implementations.
Chime-specific logic was integrated behind these abstractions, handling media setup, device selection, and event listeners. UI components and app logic remained largely untouched. Platform-specific nuances (like web or media permissions on mobile) were addressed through well-isolated modules.
This architecture enabled rapid development, parallel testing of both providers, and minimal disruption during rollout.
In 2023, Twillio announced that Programmable Video would be discontinued as a service. We had enough time to plan a strategic migration to another platform, and Amazon Chime was a logical choice since our application was already deployed on AWS.
This was the right decision! Amazon Chime provides us with stability for video calls. While we have occasionally had issues with sound and image while using Twillio Programmable Video, with Amazon Chime, we now have zero bugs reported.
The most important aspect from the business aspects is that our cost per call has decreased significantly. With Twillio, our average cost per call was $0.51, while with Amazon Chime, the average cost is $0,21 per call. This makes Chime over two times more cost-effective.
Selfnest is currently offering individual sessions, thus 1:1 meetings.
The following steps on our development roadmap are defining and developing a flow for group therapies. This means broadening the scope for video calls to support multiple users.
Easy task for Amazon Chime, but at the same time, a big challenge for our system and database.
Stay tuned!
Featured image by Matilda Wormwood