anêmona
PTEN

A casting platform that runs from setup to payment.

We built the whole platform: a web admin panel for the team, an app for the artist, the backend, the AI engines and the infrastructure.

Client
KOZMOS
Scope
Platform

kozmos.com.br (in Portuguese)

4,000+
artists on file
65.9%
of availability checks get an answer from the artist
42 min
on average, between the check and the artist's answer

KOZMOS connects artists with opportunities in the audiovisual market. On the platform, the agent creates the casting, finds the profiles, checks the artists' availability, receives the test video, tracks approval and closes the payment. The artist is fully integrated through the app, on both iOS and Android. And an assistant, Gaia, works in the admin panel and on WhatsApp.

KOZMOS (in Portuguese)
back to top01The problem

Casting lived in a shared folder

The market organizes talent with composites in a shared drive folder. A PDF with three photos picked two years ago is an archive. Today productions ask for live material: a current photo, an intro video, a skills video, an acting video.

File updates, folder management, drive shares with no control and links that expire, heavy files sent by message, and so on. All of that times thousands of artists, a job that never ends.

Availability checks went out from the agent's personal WhatsApp, one artist at a time. A single campaign needs dozens of artists. At 10 minutes per check, a job with 50 artists easily took up an agent's whole day.

Who did not reply, who replied maybe, who sent material nobody logged: none of that was recorded. When an artist said they would be away for six months, or that they do not do campaigns in a certain segment, the information went into one agent's memory and was lost there.

back to top02The sequence

AI came in 2025

It took us four years between putting the process into a system and turning on the AI.

  1. 2020artist registration30 registrations
  2. 2021casting moves onto the platform65 castings
  3. 2025Gaia, similarity search and open registration324 castings
  4. 2026the artist appiOS and Android

When similarity search became possible, the base already held tens of thousands of photos and more than ten thousand videos, accumulated over five years of registrations. Two thirds of today's artists joined before 2025.

back to top03What we did

One system, with the whole process inside it

We delivered one TypeScript repository with a web admin panel for the team, a Flutter app for the artist, four groups of serverless functions (API, AI, media and asynchronous tasks) and the infrastructure described in Terraform. All in a single region, in Brazil, with mandatory origin attestation on every call.

back to top04The mechanisms

1 The artist app

We published the app on iOS and Android, in Flutter, with more than thirty screens. Seven-step registration, a photo and video gallery, replies to availability checks, test material submission, a calendar, test fees (the pay owed to an artist for taking part in a test) and the work history.

In the market, finding out the status of a test means messaging the agent and waiting. Everything is in the app: what they were asked about, what was answered, what is pending, what was approved, what has already been paid.

Seven-step registration, the home screen with what needs attention, and the availability check seen from the other side: the artist reads the job terms, fee and exclusivity included, and answers in seven questions.

The artist records on their own phone, often in 4K, which can make the file very large. Compressing at the cost of quality is not an option.

The compression target is 1080p. Only files above 600 MB come down to 720p, never lower. Upload goes in 8 MB chunks: if the connection drops in the middle of a 200 MB video, it resumes from where it stopped, even with the app closed for about a week.

Notifications arrive by two paths: in the app and on WhatsApp. Whoever does not see the app sees the message, and the two together sustain the reply rate on availability checks.

Biometric login, two-factor authentication, and a terms consent screen that is required to continue.

2 The availability check that goes out in one click

Availability checks leave the agent's personal WhatsApp and are managed by the platform. The agent selects the profiles and sends the checks: each artist gets their own link, by WhatsApp or email, and replies directly. The reply lands in the casting already organized, with time and channel.

Types of check, alternative channels, the message preview and how many artists will be notified.

Through the platform, more than 20,000 availability checks have been sent, and 65.9% of them were answered. Half the replies arrive within 42 minutes, three quarters within four hours.

Thousands of people open the check and do not finish. That information is valuable for a second contact. This insight did not exist before the platform.

The send checks for duplicates before going out, and an artist with a poor WhatsApp reply history starts receiving by email.

3 Registering a new job

The brief arrives as a PDF, almost always long. We built Gaia to read the file and return the 14 required fields of the casting plus the list of profiles. The agent checks it in seconds. Before, that took at least half an hour between reading and typing.

Half of the 14 fields are contract terms, such as exclusivity and territory, and Gaia extracts every one of them automatically into the record.

The same extraction serves video test requests, with the same fields and the same format.

When information is missing, Gaia interrupts the conversation, asks for what is missing, confirms and only then saves the record. The conversation can stop halfway and resume where it left off.

Gaia receives a loose request and interrupts to ask for the client, casting producer, fee, media, exclusivity and dates. Only then does she generate the preview.

Gaia also answers artists' questions, including about the SATED collective agreement. People who have not registered yet can ask Gaia too. When she does not know, she hands over to a person. There are about ninety escalations a month, and nine of them are questions she could not answer.

The KOZMOS WhatsApp number is open to anyone who wants to see Gaia working.

Talk to Gaia · +55 11 95003-5760 (in Portuguese)

Every run carries a token count and cost, with a daily ceiling. When the ceiling is reached, the system alerts the administrator instead of continuing to spend.

Gaia does not decide casting and does not talk to the end client.

4 Searching by similarity

Find people with freckles. Find videos of people dancing passinho.

Both sentences work in the engine we built, and they are the same search: one looks through tens of thousands of photos, the other through more than ten thousand videos. The request comes in as a reference photo or as a sentence in Portuguese and runs across four indexes. The engine records where each candidate profile came from: a person can audit it and understand why Gaia selected a profile.

The engine returns whoever resembles what has already worked. The final casting choice is still made by hand.

5 The test fee, within the collective agreement's deadline

The artist filled out a form, generated a PDF, signed it and sent it to the agency for every test, with ID and professional registration attached. And nobody could track whether it had been paid.

We put the receipt inside the system: it comes out prefilled and the artist signs it in the app, with a six-digit code sent by email. There are already more than 300 test fees tracked automatically by the platform.

The collective agreement gives 15 days for payment on self-tapes, and a routine sweeps the overdue ones every day, changes their status and notifies the artist. Each overdue fee becomes a named case to collect.

The artist confirms in the app that the fee came in.

back to top05Technology

Behind the scenes

application
  • React
  • TypeScript
  • Flutter
AI
  • Vertex AI and Gemini
  • LangGraph
cloud
  • Firestore
  • Cloud Functions
  • Cloud Tasks
  • Cloud Armor
messaging
  • Twilio
  • Resend
delivery
  • Terraform
  • GitHub Actions
back to top06The result

What changed in the operation

We reinvented how the work gets done. We eliminated tasks such as: assembling composites, organizing folders, sending messages one at a time, keeping spreadsheets. None of them was talking to artists.

Today the team is smaller, runs about five times as many castings as in 2021, and has more time than it had.

Artists' questions are almost always the same. Is my material good? Should I take this project? How do you make an intro video that works? They never stopped being asked.

Today the team has time for artists.