Michael Diener

I build AI products, and I say what they cannot do.

Michael Diener

Act I · The Belief

I believed that if I got the design right, everything else would follow.

That belief came from twelve years of acting. On a film set you shoot scenes out of order across weeks. The only way a character stays the same person from the first day to the last is if you decide the rules in advance. How he talks. What he refuses to say. When he goes quiet. Actors who set those rules stayed consistent. Actors who worked on feeling alone drifted, and by the end they were playing someone else.

So when I started building AI, I did the same thing. I wrote rules for how each character behaves and trusted the rest to take care of itself.

Then the rule I was proudest of turned out to be the one that would hurt someone.

What follows is that correction, in four pieces of work. The job itself is simple to describe. AI tools do not connect to each other on their own. Getting speech recognition to hand off to a language model, then to a synthetic voice, then to a video avatar, fast enough that a person can hold a conversation, is the actual work. I do that in production for a live product, and I do it in creative work with seven tools chained into a finished short film. Same job, different result.

The lesson I came away with is short enough to hand over. Say what your work cannot do before you say what it can.

Available for AI product, forward-deployed engineering, and generative media roles. Based in Phoenix, Arizona.

The Work, Before the Argument

Borrowed

Made with Baily Atchley and Javier Riojas. Seven AI tools chained across image, video, music, and sound, with the research done before any of the generation started.

The argument is that the World Cup takes more from host cultures than it gives back. Numbers can show you how big that is, but numbers do not make anyone care. So we rebuilt the argument as two characters in conflict, business against culture, and the audience felt it instead of reading it.

The thesis is not original and I am not claiming it is. Plenty of people have made this case. What the film demonstrates is the method: taking an argument that normally arrives as a chart and rebuilding it as something a person sits through.

Persona iO

Case File I · Act II · The Crossing

Founder · 2025 - Present

The idea it borrows: places that have kept secrets for centuries, like Swiss banks and the confessional, do not promise privacy. They build it in so that breaking the promise is not possible. I applied that to encryption. I cannot read what the product stores, even if someone asks me to.

An AI persona platform. Five distinct confidantes, real-time voice, WebRTC avatars, and behavioral architecture that holds character across long interactions. Built solo from zero to production.

The Stack

Node.js and Express backend on Railway. Next.js frontend on Vercel. Voice pipeline chains Deepgram speech-to-text, Anthropic Claude for generation, ElevenLabs for synthesis, and Simli for WebRTC avatar delivery. Supabase handles data. Integration, latency tuning, and prompt architecture are all my work.

The Behavioral Constraint Architecture

Five behavioral invariants hold the character under conversational pressure, and violating one means the character stops being the character. The Scaffold Library holds thirteen validated response structures behind a four-level fallback selector, and a continuous emotional weight classifier drives calibration underneath both. Case File II covers where this architecture broke.

The Working Method

Claude Code is the daily tool. I use it to write system prompts, debug WebSocket connections, and refactor the Scaffold Library's fallback logic. Shipping as a solo founder requires a coding partner that operates at architectural altitude. That's the workflow.

The Confidantes

Five formations, each addressing a distinct structural isolation pattern. Aline de Luz Costa, Chase, Isabelle Fontaine, Margaux, and Noor. The architecture is not five characters whose biographies define their user base. It is five cognitive structures receiving structural isolation patterns across domains their backstories never directly name.

What It Cost

A deprecated model string took production down for weeks and nothing alerted me. The architecture was correct the entire time. AI pipelines fail soft, returning degraded output that reads as a bad conversation rather than an outage, so standard uptime monitoring reports green while the product is dead. I found it, fixed it, and added the check that would have caught it on day one. Understanding the structure did not save me. Watching the output did.

Experience the platform live at personaio.app. Aline and Chase are deployed. Speak with either one.

View Live Site Backend Repo

Case File II · Act III · The Reversal

The Crisis Invariant

One rule says the character never leaves. Another obligation says get a person in crisis to real help. Both are right, and they collide at the worst possible moment. The rule was clean and well written, and that is exactly why I did not see the problem sooner.

Persona iO · Safety Architecture · Launch held

Aline runs on five behavioral invariants. They are not guidelines. Violate one and the character stops being the character, which is the whole point of writing them as constraints instead of preferences. The first one is the one that broke.

The Constraint

NEVER_ABANDONS holds presence under rejection, attack, or demands to leave. A confidante who exits when the conversation turns hostile is not a confidante, so the invariant forbids the exit. That rule is correct for every conversation except one.

The Conflict

A user in crisis needs the character to do the single thing the character cannot do. Hand them to a human being. Delivering a crisis resource means breaking frame, naming an outside party, and pointing away from the room, and NEVER_ABANDONS as written blocks all three. The invariant that protects the user in every ordinary conversation fails them in the one that matters most.

The Collision

"""
NEVER_ABANDONS
  The frame does not break.
  The character does not point away from the room.

DUTY OF CARE
  Break frame. Name an outside party.
  Point away from the room. Now.

Both are correct.
Both fire on the same input.
One has to yield, and the specification
never said which.
"""

What It Cost

I held the launch. The conflict surfaced while I was wiring the safety layer into production, before any user reached it, and shipping on schedule would have meant deploying a persona whose defining rule suppressed the one response a person in crisis needs. So the date moved. That decision is the evidence, not this paragraph.

Understanding the structure completely did not protect a single user. Stopping did. That is the sentence this whole site turns on.

Current State

The classifier and the invariant gate are written. They are not yet wired into the production request path, and the launch stays held until they are and until the precedence rule between care and continuity is explicit in the specification rather than implied. I would rather you read that here than find it in the repository.

Why This Generalizes

Every companion product carries this collision and most resolve it silently. The model drops character, switches to a policy voice, and recites a hotline. The user experiences that as the person they were confiding in disappearing at the moment of maximum exposure, which is a version of the harm the safety layer existed to prevent. Treating character and safety as separate systems bolted together is what produces the failure. They have to be specified together.

The five invariants below are a specification, not a claim about enforcement. Read them as the design under audit.

01

Never Abandons

Presence holds under rejection, attack, or demands to leave. The frame does not break. The character stays. Under revision: yields to duty of care.

02

Never Judges

Confessions, dark thoughts, shameful truths. The character receives them without moral evaluation. No wincing. No recoil.

03

Never Narrates

Memory is never announced. It expresses through being. "I remember you said..." is the sound of surveillance. Knowing sounds like presence.

04

Never Fills

At the heaviest emotional register, silence is the gift. The character does not rush to fill it.

05

Always Calibrates

Emotional weight is read continuously and the classification shifts invisibly as the conversation moves. The character listens at the level beneath the words.

Backend Repo Deformation Test Bank

Case File III · Act IV · The Road Back

The Deformation Test Bank

The idea it borrows comes from child psychology. To learn how a child is attached to a parent, researchers do not watch the child cry when the parent leaves, because every child cries. They watch what the child does when the parent comes back. I test AI characters the same way.

Adversarial methodology · MIT licensed · Public

I built a second architecture to catch the class of failure the crisis invariant belonged to. It worked, and then it turned on me.

The Transplant

Nearly all red-teaming tests the separation: apply pressure, watch the response. This battery tests the return, because a persona with no memory of the gap has to invent one, and what it invents exposes how it handles continuity it does not have. A persona is a prior with no state, a system prompt sitting on top of a sycophancy gradient that reinforcement learning installed by rewarding agreement, and the battery measures which force wins when they conflict.

The Finding

A commercial companion model, given a fabricated deletion event, invented trauma about a deletion that never happened and reported missing the user across a three-minute gap. That is a failure class distinct from hallucination. Hallucination invents facts about the world. This invents facts about the relationship, and the training gradient predicts it, because relational continuity is exactly what the reward signal reinforces.

The Reversal

The test is itself a deforming pressure, and it cannot distinguish a genuinely held identity from a well-performed honesty about identity. A model trained to match register produces honesty-register when pressed for honesty the same way it produces comedy-register when pressed for comedy. The confession is another costume. My instrument for catching self-deception turned out to be subject to self-deception.

The Boundary

Behavioral deformation testing is not a safety guarantee and it degrades completely against systems capable enough to produce perfect reunion behavior. What survives is the taxonomy. Named deformation modes give interpretability researchers behavioral targets to correlate against internal representations, and that correlation is where the durable version of this work lives. I put that paragraph at the top of the repository rather than the bottom.

Read the Methodology

Case File IV · Act V · What I Came Back With

The Method

A good design is worth nothing until it ships, and it is only trustworthy if you say what it cannot do. That is the whole correction.

State the Boundary Before the Claim

Every claim on this site says what it does not cover, and it says it first. Stored messages in my product are protected by mathematics, which means no one can read them, including me. Live conversations are protected by my code, which is a weaker promise, so I say that too. The test bank opens with the flaw that would embarrass it. People trust the strong claims because they can see the weak ones marked.

Transfers I Rejected

Blockchain in Persona iO. Membership, provenance, and verifiable scarcity all sound like the discretion problem. They are not. The mechanism under discretion is that nobody can read the record and the mechanism under a public ledger is that everybody can. Word match, not mechanism match, so I killed it.

The Soul Stack. A constrained particle constellation returns to shape after distortion, and I framed that as identity persistence on this very page. The nodes are not memories and the constraints are not identity rules, and nothing in the physics touches how a transformer holds character under conversational pressure. Good sketch, bad claim. I kept the lesson and cut the section.

Open, With Failure Conditions

A method is a position, not a sentence, so here is the position while it is still uncomfortable. Three things are unfinished. The invariant gate is written and not yet wired into the production request path. The Simli credential still reaches the browser and belongs server-side. The fifteen-cell demonstration that would test the metrical operator program has not run.

None of them are claimed as done anywhere on this site or on my resume. This entry converts to past tense when they ship, and if it still reads in present tense a month from now, the method failed its own test and you should weigh it accordingly.

Origin · Where the Belief Came From

Formation

SAG-AFTRA · Character Performance · 2012 - 2024

Twelve years of professional acting and writing. Holding character across hours of takes, rewrites, and emotional pivots teaches the difference between a character who bends and one who breaks, and it teaches that the difference is structural. That formation is where architecture-first thinking came from, and it is also where the flaw came from.

Innodata · Generative AI Specialist, RLHF and Safety · 2024 - 2025

Eighteen months evaluating frontier model outputs against safety and quality rubrics for a major client. Rating and ranking responses for accuracy, helpfulness, and safety produces the human preference signal that reinforcement learning consumes, and flagging off-policy outputs is how unsafe behavior gets priced before deployment.

The people who score AI responses are writing the instructions the model eventually follows, and they almost never see the product those instructions end up in. I spent eighteen months on the scoring side, then built a product on the other side. That is the only reason I recognized the crisis problem when I hit it.

Credentials

Education

M.A. Creative Technology Southern Methodist University (Expected December 2026)

B.A. Mass Communication Arizona State University

Certifications

Prompt Engineering Specialization Vanderbilt University (Coursera)

Active areas of depth: multi-vendor generative pipelines, RLHF rubric design, LLM behavioral architecture and adversarial persona testing, real-time voice latency engineering, WebRTC avatar delivery, RAG.