There’s something enchanting about the inner workings of the Yoto Player and Yoto Mini. If you’re just joining us, we’re all about giving kids the reins to their own entertainment, sans screens, using those adorable credit card-sized cards. They pop a card in, and poof their favorite tunes, stories, or podcasts start playing. And don’t even get us started on our beloved Yoto Daily podcast — hit that right-hand button, and you’re off on a wild Cheese or Chocolate adventure, or maybe diving into 5 Facts, or whatever crazy topic Jake’s got brewing today.

But what’s happening behind the curtain, you ask? Let’s take a closer look at the technology powering the Yoto ecosystem.
A Simplified Look at Our Architecture

We offer three ways to access Yoto: the web, our Android/iOS apps, and our Yoto Players/Minis (henceforth known as Players). As you might guess, our Players are designed with children in mind which means ensuring they never encounter the complexities of a username/password. Instead, we utilize JSON Web Tokens for Player authentication, simplifying the user experience. This authentication process occurs seamlessly during device setup.
Our infrastructure relies on a suite of microservices to handle tasks such as retrieving user data, managing library content, and facilitating media playback. Amazon Web Services (AWS) serves as our backbone, offering serverless solutions (primarily through Lambdas) that adeptly manage our dynamic workload. This scalability is particularly vital during peak periods, such as holidays, when our traffic surges.

However, our reliance on APIs isn’t exclusive. As a carefully connected audio player, MQTT plays a significant role in our operations. This protocol enables our companion mobile app to securely communicate with Players, granting parents control over volume, power settings, and even remote playback initiation.
One of the key benefits of our MQTT connection is the swift delivery of new content. When a customer purchases content, we proactively push it to their family’s Players, ensuring immediate availability without the need to wait for physical cards to arrive.
Our data management strategy leverages both MongoDB and DynamoDB. We’ve strategically allocated responsibilities between the two databases, with DynamoDB handling simpler datasets with variable access patterns such as refresh token management, while MongoDB does the rest of the heavy lifting.
All activity within our ecosystem is consolidated in a data lake, with Amazon Kinesis ensuring timely delivery to Google Cloud Platform (GCP). Interestingly, we utilize BigQuery for our data infrastructure due to GCP’s robust security features, including first-class support for Identity-Aware Proxy.
This overview merely scratches the surface of our technology stack. We’ve omitted discussions on how our App and Web teams optimize performance through their technological choices, as well as details regarding our internal tooling. Stay tuned for future insights.
So, in a nutshell, our tech setup is all about keeping things simple, scalable, and rock-solid reliable. Because when it comes down to it, we’re all about giving families a smooth ride at bedtime, without any tech hiccups along the way. At Yoto we always stay true to our values and “Helping Families” is one of them and what better way to do that than with a magical infrastructure that ensures bedtime is always a fairytale ending, no surprises included.
Oh, and one more thing — if you’re as passionate about technology and families as we are, we’re hiring! So, if you’re ready to dive into the world of Yoto and help us shape the future of kids’ entertainment, we’d love to chat.