Natural Synthetics: Customer Spotlight
What was the inspiration for your Hotshot app?
Aakash Sastry (Natural Synthetics Co-Founder & CEO): We’ve been building different social apps since 2012. John was building visual communication apps before I met him, and I was building a video chat app where you would be live on camera as soon as you opened it. I thought that live broadcasting to your friends would be really fun, but it turned out that it was intimidating for users to be instantly streaming. The failure of that app gave us the insight that we needed to create an environment that made people more comfortable and confident when expressing themselves online. In 2017 we started our company, Natural Synthetics. We released Hotshot in the iOS App Store in January 2023.
How does the Hotshot app work?
AS: Hotshot is an iPhone app that acts as a camera for your imagination. You can generate images of you, your friends, and celebrities doing anything you want. It’s super fast, it’s fun, and most importantly, it’s free. We’ve done a lot of work to get our costs down so we can make it free, and MosaicML has helped us with that.
When a new user signs up, the app learns how they look. Users have complete control and permission over who can generate photos of them (or “imagine” them) using our app. As we build out the network we see a huge opportunity for our users to create personalized media using Hotshot’s “camera for your imagination.” Now, your friends can go beyond imagining you doing something; instead of just telling a joke, your friends can visualize that joke as well.
Q: What kind of AI models are you using in your platform?
John Mullan (Co-Founder & CTO): Hotshot uses models based on Stable Diffusion. For each user that signs up, we train them their own model using MosaicML infrastructure. Before MosaicML, we were running on another cloud provider’s instances, but the infrastructure was complicated. Since we’re a small team, it made overcoming challenges even harder. Having MosaicML deal with the infrastructure and have that abstracted away lets us move 10x faster.
AS: Large-scale image generation models are amazing, but they don’t have any of the personal context that consumes our thoughts day-to-day. We based our app on photos of people because most of our thoughts are about ourselves and our friends and family. That’s why we started fine-tuning more personal AI models in order to make a true “camera” for users’ imagination.
Q: How did you discover MosaicML?
AS: We considered pretty much every GPU cloud infra provider out there. Speed, scalability and support were super important to us. MosaicML came out on top in all those areas.
Q: What challenges has the MosaicML platform helped you overcome with model development?
JM: The machine learning environment is such a rapidly changing ecosystem. Everything is so new; dependencies are constantly changing. MosaicML built us a stable environment and we just plug into that and run it on as many machines as possible. We’re able to parallelize our training, sweep parameters, and it’s all 10x easier than doing it ourselves. And using MosaicML to stream data from the cloud has solved a massive headache for us. We tried our own solution, but when we switched over we got rid of the headache of preparing 100s of GBs of data on disc. That was fantastic for us.
AS: Now we've moved off the open source Stable Diffusion models and have our own base model, but in order to train that model we were doing large training runs. MosaicML made it really easy to get more compute; your team is really proactive in asking us about what we need. The Streaming Dataset was super helpful, as we have a lot of data that we’re using for model training.
JM: I’ve never trained a model that large before. I thought it would take a long time to compress and upload our data, but with MosaicML we did it in minutes. It was amazing. MosaicML breaks down the barriers so we can focus on what’s important. We are a small team; being able to ask questions through our shared Slack channel has been super helpful.
AS: We are pretty much constantly training models. We’re doing a ton of small and large runs, which is difficult and a challenge MosaicML has helped us solve. One thing we are still discussing with you is now that we have our own storage solution, how can we make that cost-effective and efficient? We are also excited to be able to work with you on your inference service.
What do you think is next in the Generative AI space?
AS: I think a lot of people are looking for different ways to express themselves visually online. We see a ton of potential to make people even more confident and comfortable with their visual communication by using Generative AI. We’ve already seen a pretty massive shift in the industry with these Generative AI models. I believe we’re going to see a Cambrian explosion in actual applications for consumers and businesses. At Natural Synthetics, we're fascinated by this idea of personalized media. If you think about it, it’s kind of odd that we all consume the same media on a daily basis. What will the world look like if media that previously took years or months to create can now be done by one person. What will the world look like when our daydreams become tangible and can be shared with our friends in a matter of seconds?
We’ll be releasing our next big model update to Hotshot soon - stay tuned!
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.