Ever shipped an Android app where the first tap on Login does nothing, then works on the second t...Ever shipped an Android app where the first tap on Login does nothing, then works on the second t...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Ever shipped an Android app where the first tap on Login does nothing, then works on the second tap? 🤔
It's not random. It's a race condition in Room.
If you seed default data inside RoomDatabase.Callback.onCreate() by launching a coroutine, onCreate() returns before the insert finishes. The query that triggered database creation then runs too early and finds nothing. That's why it only happens on the very first launch.
Two fixes I cover in the article:
âś… Call the insert directly with runBlocking inside onCreate(). Room already runs it on a background thread.
âś… For complex or async seeding, warm up the database at startup and gate the UI until it's ready.
🍳 Darakai Live Kitchen — Reimagining Food Delivery
What if customers didn't have to simply wait for their food?
I designed Darakai Live Kitchen, a new concept for the Darakai Food Delivery app that lets customers watch their food being prepared live by the chef.
Instead of a simple “Preparing your order” status, customers can:
đź”´ Watch the kitchen live
đź’¬ Interact with the chef
❤️ Send reactions
🍽️ Follow the cooking → plating → ready journey
đźš´ Track the transition from kitchen to delivery
On the restaurant side, chefs get a dedicated Kitchen Dashboard to manage orders, start a live cooking session, communicate with customers, and end the stream when the order is ready.
The experience
Order → Confirmed → Cooking Live → Plating → Ready → Pickup → Delivered
The idea is to transform food delivery from a simple transaction into a more transparent, engaging, and human experience.
Technical direction
The concept is designed around a Flutter customer app + restaurant interface + .NET API, with real-time video handled by dedicated streaming infrastructure while the backend manages orders, live sessions, permissions, chat, notifications, and session status.
Once you’ve created your Cantina account on mobile, you can log in to Cantina on desktop web and start using Creator Studio right away!
To get started, first create your Character in Cantina. Once your Character is ready, head to Creator Studio to bring them to life and create your pilot episode for the challenge.
We’re continuing to grant Creator Studio access on mobile, but there may be a slight delay before it appears. You don’t need to wait for mobile access to start creating - you can use Creator Studio on web in the meantime. Once your Creator Studio access is granted on mobile, you’ll receive a push notification from the Cantina app and an email confirmation.
As you create your pilot, we recommend submitting your video in English when possible so our judges can fully understand your character, dialogue, story, and overall concept. This is a recommendation, not a requirement for participation.
Need help along the way? Reach out to the Cantina Ambassadors in the challenge feed or message them directly in Cantina.
Happy creating!