Léo Barcet · Portfolio 2026Based in Saigon · FR

Xin chào, I’m

LéoBarcet

Actor. Director. Builder.

I’m a passeur: for fifteen years I have been taking people across. From the audience to the stage, from one country to another, from a messy process to a tool that works. Today I run a casting agency in Saigon and build its software myself, by directing AI agents.

You are rather…

Or read the whole story ↓
Le soleil n'est pas une boule, La Ferronnerie, Paris, 2022
Le soleil n'est pas une boule, La Ferronnerie, Paris, 2022
Duyên platform, the production casting room
Duyên platform, the production casting room
Bulle, Ho Chi Minh City, 2025
Bulle, Ho Chi Minh City, 2025
13actors placed on The Wandering Earth 395shoot days coordinated3currencies, every actor paid700+hours of training, 4.7/5500+spectators in 3 countries12+performers led over 5 years13actors placed on The Wandering Earth 395shoot days coordinated3currencies, every actor paid700+hours of training, 4.7/5500+spectators in 3 countries12+performers led over 5 years

    A passeur

    In French, a passeur is the one who takes you across: a border, a river, a threshold. That is the thread through everything here. The medium changes, a stage, a film set, a classroom, a piece of software. The job stays the same: get people across, safely, to the place where they can act.

    Production casting room: shortlist counts, filters, grid of actor portraits

    2026

    A casting platform, designed, directed and shipped end to end

    RoleFounder, and both product owner and architect
    TeamAI coding agents, directed by me: I decide, they code
    PeriodSince March 2026

    Result: 200+ actors sourced, about 30 of them selected for the roster. On The Wandering Earth 3, I had placed 13 actors for 95 shoot days with nothing but spreadsheets and messaging apps. The platform, which I led end to end, secure and reachable from mainland China, exists so that no production has to run that way again.

    Read the full case

    Where it comes from

    It starts with The Wandering Earth 3. I was coordinating the foreign cast of a Chinese production, and my only tools were messaging apps, email and spreadsheets. Could the work really be done that way?

    Clearly not. So after the shoot I started an agency to do this work properly, then built the tool it runs on.

    What I put together

    A single roster, shared by three kinds of users. First the actors, who apply and keep their portfolio current. Then the agency, which evaluates, admits and presents them. Finally the productions, which open a private casting room, compare a shortlist, and book.

    Every actor also gets a branded PDF résumé, rebuilt whenever their credits change.

    From a self-tape to a paid actor, one pipeline

    A form would have been enough for a brochure site. A casting agency, though, needs its whole chain, and each side has to work in its own space.

    Actors

    1. They apply, then upload photos, showreels and self-tapes.
    2. Their files are compressed, renamed and sorted automatically, so that a production, wherever it is, downloads a clean, structured package fast.
    3. Their old résumé is read, parsed, then rebuilt as an agency-branded PDF.
    4. They get a personal space and tools of their own: a profile link they'll want to share, comp cards in one click.

    Agency

    1. It searches the whole roster in seconds.
    2. It evaluates actors, admits them, then guides their development.
    3. For each casting, it builds a selection and sends it to the production.
    4. It remains the filter between both sides: nothing reaches an actor without our sign-off.

    Productions

    1. They receive the selection in a private casting room, where every résumé carries the agency's branding.
    2. They keep or pass on each actor.
    3. They book the actors they keep and sign contracts on the platform.
    4. They follow every actor, from shortlist to set.

    Note: every platform screen shown here uses demo data.

    Where the difficulty lies

    Three sides, a single truth

    Actors, agency and productions each see a different slice of the same records. Who sees what, and when? That question is, in the end, the product. So an actor must never learn a production's decision before the agency has approved it, and a production's name is revealed only with its consent.

    A market on the other side of the firewall

    Yet productions work from mainland China, where Supabase is blocked and most hosting platforms are absent. Hence Cloudflare's edge placed in front of a Singapore server, picked over a cheaper German one for latency to Vietnam.

    Heavy files

    Showreels and self-tapes are large video files. That called for resumable uploads straight to storage, a video encoding pipeline, and short-lived signed links.

    Personal data

    Contact details, ethnicity, body measurements, photos, private agency notes: a leak would expose the actors and the agency's trust with productions. Which is why security is the one area where I never gave anything up for speed.

    Security

    First, I wrote security rules the AI is not allowed to bend. Then I had the code reviewed in several passes, and again after each feature. Fifteen decision records, in fact, cover security reviews and hardening.

    • The server stays invisible. Its address sits behind Cloudflare, and it rejects any connection that can't prove it comes from our own domain.
    • At rest, sensitive fields are encrypted. Agency notes and evaluations never leave the admin side, and the file a production downloads follows a strict whitelist, with no contact details at all.
    • A single login for everyone, with a generic error. So nobody can test whether an account exists. Sessions are short and rotated on every use, and the brute-force lockout can't be dodged by faking an address.
    • Backups are encrypted before they even leave the server, and their key is kept away from the storage they protect.
    • Finally, public forms are protected from bots, dependency vulnerabilities are triaged, and build tools are pinned to exact versions.

    An AI agent writes fast and sounds sure of itself. So most of my job came down to catching where it was confidently wrong.

    Working with AI agents: my method

    First observation: an AI agent writes code faster than I can check it. The bottleneck, in other words, has moved. And the traps are well known: code that looks right, invented facts, lost context, runaway cost. For each one, I built a safeguard.

    Verification

    A "make this page responsive" task came back marked finished; on my phone, I still found seven defects, one at a time. So I wrote a verification rulebook every session follows before saying "done" (excerpt below). I also discovered 883 tests that nothing ran before production, and had them wired in. Even so, a go-live audit caught 3 blockers that no automated check had seen.

    Invented facts

    Left alone, an agent fills gaps with plausible fiction: past clients who don't exist, reassuring numbers, stock photos passed off as our actors, profile links that lead to someone else. Hence a rule: what I can't prove doesn't go public. Copy lives in documents I own, and a mockup isn't allowed to add a claim. Likewise, search-engine data only carries links I supplied. As for placeholder photos, they now fail the build.

    Memory

    Each session, an agent starts from zero. How do you work over time with someone who forgets everything? By handing the memory to the project itself. A briefing file states the live rules and points to the reasoning; more than 100 decision records keep the why. A progress log is kept after every task, and a written rule forbids re-debating a settled decision: it can only be formally revised. Finally, a separate file lists "commands an agent would guess wrong".

    Several agents at once

    I run several sessions in parallel, each on its own copy of the code. One day, one of them deployed a stale copy, silently erasing another's fix. Since then, every session checks its drift against the shared branch at startup, and the deploy script refuses anything that isn't the latest version.

    Picking the model, counting the cost

    Inside the product, the résumé import calls Claude. Does that require a big model? The job is reorganizing text, not perceiving images, so I use the smallest one, Haiku, and send it extracted text, never the raw PDF, which would cost far more. That comes to about 1.5 to 2.3 cents per import, capped at 10 an hour per visitor. Every answer is re-validated against a strict schema; if the AI fails, the import works anyway. I also priced an AI layer for the code map, then dropped it.

    Architecture: learn first, choose second

    A first stack was offered; I didn't take it. I asked the AI to explain the main architecture options and their trade-offs, read all of it, then made the call myself. Every proposal, I pushed hard: why, how, how fast, under which conditions, for how many users? Sized for real load rather than hypothetical scale, a single server with the video encoder beat pricier managed services. And since productions sit behind the Chinese firewall, anything blocked there was out, whatever its reputation. I also overrule the first proposal when it is wrong: a "you're shortlisted" message still visible after a production had passed, a résumé parser that turned my own 28 credits into 50, a brief form that stored nothing.

    What the user sees, the AI doesn't

    On my iPhone, in the Arc browser, the bottom of the home page vanished under the floating bar. No test had caught it, and the AI can't open Arc. Three times it tried to guess the bar's height by changing which elements were shown or hidden; three times I tested on the phone and said no, because one version was too cluttered and another removed the scroll cue I wanted to keep. The fix came from restating the problem: I didn't want fewer elements, I wanted the cue to sit exactly on the edge of the bar. In other words, a single number to set. We read it off my screenshot, and on the fourth round I signed it off on the device.

    Even its tools get it wrong

    First finding: the code map every session read at startup was 54% noise from third-party dependencies. Second finding: the build watchdog was watching the wrong process, 0.9 points away from killing a healthy build. Which is why, before I trust a tool, I have it measured.

    My verification rulebook, an excerpt exactly as I wrote it for the agents

    I wrote it after a "make this page fully responsive" task shipped, then took several more rounds, because I kept finding defects on my phone, seven of them, one at a time. Yet none had been misdiagnosed: the failure lay entirely in finding them.

    1. Verify the artifact you ship, over its whole surface. Enumerate it, don't assume it.
    2. A declared gap is not a covered gap. "Can't test X" means build a way, or say unverified.
    3. Green checks prove no breakage, never quality. Always look at the finished result the way its user will meet it.
    4. When you can name why a bug happened, use that sentence as a search across the module. Fix the category, then go find its other members.
    5. Suspect the fixture when a measurement contradicts the code. A checker that can pass while broken is worse than none.

    Next.js · React · Hono · PostgreSQL · Drizzle · Cloudflare Workers, R2, WAF · FFmpeg · Claude Code · Claude API (Haiku) · n8n · Python · Apify · GitHub Actions

    Payment tracker overview: money in, money out, outstanding. Amounts blurred

    2026

    Tools for money and contracts

    RoleDesigner and builder
    Born onThe Wandering Earth 3
    ToolsA tracker for actor payments, a multilingual e-signature tool

    Result: for each actor on each production, I know at any moment what was worked, what was paid, by whom and in which currency, and what is still owed.

    Read the full case

    The starting point

    On a Chinese shoot, money crosses three parties and three currencies. The production pays the agency in yuan, the agency pays actors in dollars or dong, and in between sit day rates, standby rates, overtime and commissions. Yet on The Wandering Earth 3, I tracked every working day and overtime hour by hand. And one mistake is all it takes: an actor paid wrong, or a production billed wrong.

    So what I built

    First, a payment tracker. You enter contracts with their roles and rates, the actors assigned, days and overtime; you then get an overview in any currency: money in, money out, what the production still owes, what the agency still owes.

    Second, a contract signing tool. Behind the firewall, Western e-signature services don't work reliably. So I built my own: multilingual, reachable from China, no third-party platform.

    The Wandering Earth 3

    A film by Frant Gwo · Qingdao, 2026

    13foreign actors
    95shoot days
    3currencies, all paid

    2026, Qingdao

    The Wandering Earth 3: getting foreign actors to set, then getting them paid

    RoleForeign cast coordinator; also cast in an English-speaking role
    ProductionA Chinese sci-fi feature directed by Frant Gwo
    PeriodFebruary to April 2026, in Qingdao

    Result: the foreign cast of a major Chinese feature put under contract, flown in and paid across three currencies, every actor paid in full.

    Read the full case

    Paying across currencies

    The production paid in yuan; the actors needed dollars or Vietnamese dong, across two banking systems that don't talk easily. I found and tested a payment chain that worked, until every actor was paid.

    Contracts

    Contracts had to be drafted, in several languages, that worked both for a Chinese production and for foreign actors. Behind the firewall, however, Western e-signature tools aren't reliable. Which is why I developed my own signing tool: multilingual, reachable from China, independent of any third-party platform.

    Getting people there

    Actors were flying in from several countries, and every ticket had to be actually issued, then actually received. So I built a process for each step.

    Actors who don't show up

    Some actors gave their word, then didn't come. I had to find replacements at the last minute, and agree on a solution with the production.

    It was out of this shoot that Duyên grew.

    Wide shot of the stage under a red cyclorama, cubes lit from inside

    2017 to 2022

    Le soleil n'est pas une boule

    RoleConcept, direction and dramaturgy, plus producing
    TeamA company of 12 to 13 performers and technicians, which I led
    Period5 years, 2017 to 2022
    CompanyLes Lions sous la Lune

    Result: over five years, I took a company of 12+ from a volunteer project to a paid professional run: three performances of a 1h45 show at La Ferronnerie, Paris, in March 2022, with performers and technicians on contract. Along the way, nine residencies and a full set built by hand.

    Read the full case

    Where the play starts

    A play about free will, written collectively with the actors. Our research in philosophy and neuroscience, however, led us to a paradox. First observation: our societies treat self-control as a fact. At the same time, neuroscience suggests we have very little of it.

    Caught between the two, justice faces a hard problem. If so much of what we do is determined, how responsible is a man who commits rape?

    Caught between the two, justice faces a hard problem. If so much of what we do is determined, how responsible is anyone for what they do?

    What we chose to stage

    A second observation followed: we are always telling ourselves a story. When we are not its hero, we watch other people's lives as if from a theater seat. That is why people don't step in when violence happens in front of them: it isn't, they feel, their role.

    So we gave the audience total freedom from the first minute, then staged an act of violence in front of them. Would anyone intervene? Next, the play stops for a debate. For being a spectator is already being an actor in what you see.

    So we gave the audience total freedom from the first minute, then staged a rape, crudely. Would anyone intervene? Next, the play stops for a debate. For being a spectator is already being an actor in what you see.

    From a cardboard model all the way to the stage

    Scale model under red and orange light, three figures between cubes
    Another scale model, inspired by James Turrell and Olafur Eliasson.
    12+people led over 5 years
    3paid performances, La Ferronnerie, 2022
    9residencies
    Adamisupport for the filmed performance, 2022

    What pushed back, and how I answered

    Holding a team of 12 together for five years

    In its early years the company ran on commitment alone, so what held everyone together is the project itself: a clear organization, and an ambition big enough that people wanted to see it through. Keeping that alive for five years was my job. And that took hard calls. I matched tasks to people and recast roles when something wasn't working, parted ways when I had to, and restarted the work rather than force it. The show reached the stage.

    A set, but no workshop

    The cubes came from my set designers; my stage manager Axel worked out how to run them, wireless, battery-powered, controlled in DMX. That is when the real problems began. Where do you build dozens of cubes up to 1 m wide, out of what, where do you paint them and leave them to dry, where do you buy and receive the batteries, how do you fix them into the wood?

    Going professional

    The company started with little funding; the nine residencies, from Clos Sauvage and the Monfort to the Centquatre, were given in kind. To reach a professional run, I then structured it: Les Lions sous la Lune, an association under the 1901 law, has held a live-performance producer licence since November 2021, and performers and technicians were hired on intermittent contracts under the national collective agreement (CCNSPV), and paid. The hard part was cash flow. A performance was filmed on 30 March 2022 with support from the Adami "Captation de spectacle" programme, and that support is paid retroactively. So the company had to carry the artists' pay in advance, which meant planning payroll and cash before the funding arrived.

    Covid

    After excellent feedback, we were set to perform for a large number of theater professionals. Covid cancelled that date and delayed the premiere. The show finally opened at La Ferronnerie, Centre Pina Bausch, on 30 and 31 March 2022, for three performances.

    Léo on one knee, reaching upward, the đàn tranh player behind him

    2019 to 2025

    Bulle: producing a show across three countries, independently

    RoleWriter, director, performer and producer
    TeamOne actor, 1 or 2 musicians, one stage manager
    WhereParis, Tunisia, Ho Chi Minh City
    PartnersThe Instituts français in Tunisia and Vietnam

    Result: 6 performances in 3 countries before more than 500 spectators, an independent production, and press coverage in 8 Vietnamese outlets.

    Read the full case

    The starting idea

    A 45-minute poetic solo about solitude, with live music, which I wrote, directed and perform. I designed it to travel light: one actor, one or two musicians, one stage manager.

    What producing it actually took

    First an invitation to Tunisia, with financial support from the Institut français de Tunisie. Then Ho Chi Minh City, where I recast the music with a Vietnamese đàn tranh player, staged it at Dancenter, secured a communication partnership with the Institut français du Vietnam, gave four performances in French and English, and got the show covered by eight outlets, from Việt Nam News to Tuổi Trẻ.

    After the show, Étienne Ranaivoson, Consul of France in Ho Chi Minh City.
    Vũ Phi Anh, of the Institut français du Vietnam.

    Việt Nam NewsThe Saigon TimesTuổi Trẻ NewsLe Courrier du VietnamSài Gòn Giải PhóngNgười Đô ThịO VietnamVietnam.vn

    4.7/5learner satisfaction, 2025
    700+hours of training delivered
    200+adults trained
    100%would recommend

    Since 2021

    Preparing adults for a national certification

    RoleInstructional designer, lead trainer and cohort referent
    ClientsSocial Builder, WebForce3, Alphalia, m2i and Othis
    PeriodSince 2021

    Result: cohorts of adults certified by the French state; from learners, 4.7/5 satisfaction and 100% would recommend.

    Read the full case

    The setting

    France's national Digital Advisors program trains people from very different backgrounds so they can help citizens with digital tools, then certifies them with a state diploma (REMN, level 5). There I designed modules and led cohorts of 16 to 25 adults, mostly remote, sometimes as referent trainer at the head of a team of six.

    I wrote and taught modules on IT basics, support postures, media education, digital identity, and oral and written communication. Some courses ran to 315 hours.

    The way I teach

    I come from theater, so I build a course like a rehearsal, where people learn by doing, in front of others, with feedback right away. I prepare learners for the exam early and repeat the key points often. Was that too demanding? I once put the question to a learner. The regular reminders, he said, were exactly what got him through.

    For "Pouvoir +", a course on agency for job seekers, I wrote the guide for the trainers who deliver it, and took part in the early design phase.

    Home page of Le Pitch qu’il vous faut:

    Since 2025

    Le Pitch qu’il vous faut: a coaching offer, designed, built and run end to end

    RoleFounder, coach, designer and developer
    FormatPitch and public speaking coaching, 100% by video
    Sitelepitchquilvousfaut.fr, soon pitch.leobarcet.com

    Result: a live offer for founders and executives, from a single session to a three-month programme, built on a method of my own, and a bilingual site whose AI chatbot qualifies prospects before the free diagnostic call.

    Read the full case

    The idea

    A pitch isn’t recited. It’s performed. Founders preparing a fundraising round, a demo day, a keynote or a key client meeting usually work on their slides. I work on what happens when they speak: structure, voice, body, silences.

    It starts with a free 20-minute diagnostic by video. Then a coaching format fitted to the deadline, with a script written together for the bigger packages, and recorded rehearsals to watch back.

    The method: S.C.E.N.E.

    Structure: what you want to obtain, then the story that leads there. Charisma: presence, voice, posture. Emotion: what the audience should feel. Natural: delivered, not recited. Effectiveness: the ask, and what happens after.

    It is the way I direct actors, applied to people who never meant to be on stage.

    The site, built with AI agents

    Next.js, strict TypeScript and Tailwind, in French and English. A chatbot qualifies each prospect before they book: project, audience, deadline. Forms are validated server-side, emails go out through Resend.

    Security and quality

    Rate limiting per session, chat data encrypted, strict input validation against injection. Tests with Vitest and Playwright, and the same verification rules as my other products.

    Next.js 14 · TypeScript · Tailwind CSS · OpenRouter · Resend · Zod · Vitest · Playwright

    Verify, don't assume

    AI agents write fast and sound sure of themselves. This is the rulebook every one of my agent sessions follows before saying "done", exactly as I wrote it.

    1. Verify the artifact you ship, over its whole surface. Enumerate it, don't assume it.
    2. A declared gap is not a covered gap. "Can't test X" means build a way, or say unverified.
    3. Green checks prove no breakage, never quality. Always look at the finished result the way its user will meet it.
    4. When you can name why a bug happened, use that sentence as a search across the module. Fix the category, then go find its other members.
    5. Suspect the fixture when a measurement contradicts the code. A checker that can pass while broken is worse than none.

    Need someone to check what your AI produces? I evaluate AI output in French, English and Spanish: code, creative writing, translation.

    Get in touch →

    The way I run a project

    • Frame itWho is it for? What will done look like? What can't move? All of this is written down before anything is built.
    • Decide in writingI record every real decision with its context and the options rejected; that way, nobody reopens it by accident.
    • Find the wayIf a tool, a budget or a partner is missing, I build one, borrow one, or find the person who has one.
    • Verify, don't assumeI test on the real thing, with the real user. Green checks, after all, prove nothing.
    • Own the outcomeMoney, people, deadlines: I track each one through to delivery and report where things stand.

    What others say

    As a trainer

    Source: learner satisfaction survey, 2025

    4.7/5overall rating
    9.3/10relevance of the course
    100%would recommend me as a trainer
    100%rated the course relevant
    "A very competent trainer, committed and devoted to his learners, with a captivating way of speaking. He used diplomacy and listening to keep everyone involved, and brought all of us to the point of being able to pass the certification. An excellent trainer I hope to meet again."
    Laurent Fromentin, former learner, La Poste · learner survey 2025 (translated)
    "Very invested in his mission. Always listening and ready to motivate his cohort. Léo leaves no one behind and makes sure everyone takes part."
    Christèle Vasseur, former learner · learner survey 2025 (translated)
    "I passed the CCP1. Thank you for your availability and your listening. In a later training I realised that not all digital advisors, including some who had been in post much longer, had received such a high-quality training."
    Béatrice L., former learner, now digital advisor at La Poste · 2025 (translated)
    "Thank you for the training, and for helping me get my first diploma. You always listened, and your advice and motivation kept me focused, even when it was hard. Most of the group I'm still in touch with passed their CCP1, me too."
    Maureen F., former learner · 2025 (translated)
    "I got both certifications, I'm so happy. I listened to your advice."
    Sandrine D., former learner, City of Savigny-le-Temple · 2025 (translated)
    "Thank you so much for everything you brought me during the training, and for always being available to answer my questions."
    Laurent C., digital advisor, City of Gien · 2026 (translated)
    "Thank you for orchestrating the trainers' introduction at the very start of the session, with real time given to the subject. I hadn't had this launch step with the cohort lead in the two previous groups, and it makes a difference."
    Jenny Augias, fellow trainer, national Digital Advisors program · 2021 (translated)

    On stage

    "I noticed Léo Barcet's professionalism and determination. [...] the strength of his proposals and the rigor and will with which he carries them out."
    Pascal Rambert, playwright and director, former head of T2G Théâtre de Gennevilliers · recommendation letter (translated)
    "I saw the professionalism and rigor of Léo Barcet and his deep commitment to the performing arts. [...] Dynamic, cultured and inventive, energetic and determined."
    Pierre Katuszewski, Université Bordeaux Montaigne · recommendation letter (translated)
    "I have seen countless plays in my life, but this performance is one of the most transcendent, distinctly and inherently human I have ever had the privilege of witnessing."
    Matthew Alan Ward · on Bulle, Ho Chi Minh City, 2025
    "A rare moment in Saigon. A sensitive dialogue between theater and traditional Vietnamese music. Events like this deserve to be supported and shared as widely as possible."
    Jaime Peypoch, Secretary General, Français du monde-ADFE · on Bulle, 2025 (translated)
    "An amazing and unique performance, full of beautiful poetry and deeply touching moments. It truly reminded me to look deep inside my heart and mind."
    Tra My Nguyen · on Bulle, 2025
    "A strong, deep and poetic show. I hope you can support it, it deserves it."
    Sara Sismondi, theater teacher, Ho Chi Minh City · recommending Bulle to a school in Hanoi, 2025 (translated)
    "A psychological bomb that questions many of the foundations of our society."
    Thomas Haguet · on Le soleil n'est pas une boule (translated)
    "Let yourself be surprised by this very poetic and original show." · "What a beautiful show. Very moving, and the music sublime."
    Juliette Carrasco, Beata Ufniarz · on Bulle, 2025 (translated)

    About

    Léo Barcet with his camera
    Off stage, behind the camera.

    I’m French, I live in Saigon, and I have spent fifteen years making things happen in front of an audience. I trained as an actor at Cours Florent and the Sorbonne Nouvelle, then learned to direct: a company, a cast, a room of learners.

    When I started building software, I found I was doing the same thing with AI agents. Off stage, I take pictures, learn Vietnamese, and keep a notebook of ideas far too long for one life.

    Léo
    Based
    Ho Chi Minh City, Vietnam. Remote, UTC+7
    Languages
    French (native), English and Spanish (C1/C2), Vietnamese (B1)
    Education
    M.A. International Artistic and Cultural Projects, Paris 8 · B.A. Theater Studies, Sorbonne Nouvelle · Cours Florent
    Companies
    Duyên Talent & Casting · Les Lions sous la Lune (2015)

    Now

    Open for work

    • From October 2026, remote or in Ho Chi Minh City
    • On contract or part-time
    • AI evaluation, tools, production, training

    Next

    Back on stage

    • Bulle, restaging the solo with live music
    • Le soleil n'est pas une boule, preparing its return
    • A new creation with Les Lions sous la Lune

    Horizon

    The bridge

    • Duyên as the bridge between international actors and Asian productions
    • More stage, more screen
    Léo Barcet

    Write to me.

    I read every message myself, and I answer.

    contact@leobarcet.com