DEV Community

Cover image for ChatGPT Dots by OpenAI: Building Expressive AI Assistants with Rive Animation
Praneeth Kawya Thathsara
Praneeth Kawya Thathsara

Posted on

ChatGPT Dots by OpenAI: Building Expressive AI Assistants with Rive Animation

ChatGPT Dots by OpenAI: Building Expressive AI Assistants with Rive Animation

AI assistants can have a great conversational experience and still leave users wondering: is it listening, working, waiting for me, or finished?

OpenAI’s ChatGPT Dots announcement raises an interesting design question for developers building AI products: how should an assistant communicate its activity beyond text?

I’m Praneeth Kawya Thathsara, a character designer and Rive animator behind Mascot Engine. I create interactive mascots and animated faces for AI companion apps, websites, AI toys, and robot screens.

This article explores how an expressive character can support an AI interface—and how to structure its animation so developers can connect it to real application events.

What ChatGPT Dots Suggests About AI Interface Design

In the announcement, OpenAI describes Dots as assistants that learn from feedback, connect with apps, and work toward a user’s goals over time.

That creates more interface states than a simple question-and-answer exchange.

An assistant might be:

  • Listening to a request.
  • Processing information.
  • Working on a task.
  • Speaking a response.
  • Waiting for approval.
  • Reporting completion.
  • Explaining an error.

For your own AI product, these states need clear visual communication.

An animated face or mascot can complement status messages and controls. Its expression gives users another way to recognize what is happening.

This article discusses independent AI product design. It does not describe a custom mascot integration with ChatGPT Dots.

Start with Product States Before Designing Animations

Before animating a character, define the events your application can reliably detect.

A useful starting point is:

Application state Character behavior Supporting interface
Idle Gentle breathing and occasional blinking Ready indicator
Listening Attentive expression Microphone status
Processing Subtle focused motion Processing message
Working Restrained activity loop Task progress
Speaking Audio-responsive mouth movement Captions or transcript
Awaiting approval Patient, settled pose Explicit approval controls
Complete Brief acknowledgment Result or completion message
Error Clear change in expression Explanation and recovery action

The application should remain the source of truth.

A completion animation should run when the task is actually complete. A listening expression should correspond to the microphone’s real state.

At Mascot Engine, this mapping is part of how I plan interactive AI character animation. It helps turn an attractive character into a useful interface component.

Why Rive Fits This Type of Character Animation

A rendered video plays a predetermined sequence. An interactive character needs to respond to changing inputs.

In Rive, a character can be prepared with animation states and controls that your application drives.

Depending on the project, the animation system might support:

  • Activity changes.
  • Independent facial expressions.
  • Mouth movement.
  • Gaze direction.
  • Tap or click reactions.
  • One-time celebration animations.

The exact implementation depends on your chosen Rive runtime and target platform. Agree on those details before finalizing the animation file.

Separate Activity, Emotion, and Speech

One practical design decision is to keep these controls independent.

Activity describes what the assistant is doing.

Emotion controls its expression.

Speech controls its mouth movement.

For example, your companion may be speaking with a concerned expression. Changing the expression should not stop the mouth from responding to audio.

Likewise, a happy expression should not automatically trigger a speaking animation.

Here is an illustrative control contract you could adapt with your animator:

activity: idle | listening | processing | working | speaking
emotion: neutral | happy | empathetic | concerned | surprised
mouthOpen: 0–1
lookX: -1–1
lookY: -1–1
celebrate: one-time event
reset: one-time event
Enter fullscreen mode Exit fullscreen mode

These are proposed application controls, not reserved Rive names or a universal API. Their names, types, ranges, and mappings should be documented for your specific file.

Keeping responsibilities separate makes it easier to extend the character as your product grows.

Plan Lip Sync Around Your Audio Pipeline

For a speaking AI character, two approaches are worth discussing.

Audio-responsive mouth movement

The application supplies an audio-level value that controls how far the mouth opens.

This can suit a simple robot face or a stylized companion. It communicates speech activity without requiring a detailed set of mouth shapes.

The neutral value should produce a closed or resting mouth.

Viseme-driven mouth shapes

Visemes are visual mouth poses associated with speech sounds.

If your speech pipeline provides suitable timing information, the application can use it to select mouth poses.

This requires an agreed mapping between the speech system and animation file. The developer and animator should document what each value means.

Choose the approach around the product’s needs, available speech data, and character style. More mouth poses are useful only when the application can drive them appropriately.

Design for the Screen Your Character Will Use

A website mascot and a robot-screen face have different constraints.

For a website, consider:

  • Responsive placement.
  • Whether the character obscures content.
  • Pointer and touch interactions.
  • A way to minimize or dismiss it.
  • Reduced-motion behavior.

For an AI robot or desktop companion, consider:

  • Screen dimensions and shape.
  • Viewing distance.
  • Circular display boundaries.
  • Expression readability.
  • Device performance.
  • Consistent face positioning across states.

A small robot display may benefit from simple, readable eyes and mouth shapes. A larger companion app can support more detailed character acting.

At Mascot Engine, I work on both custom mascots and animated robot faces, with the design and animation scope shaped around the intended screen.

Make the Animation Handoff Clear

Developers should not have to guess how a character works.

A useful handoff includes:

  • The exported animation file and agreed editable source.
  • Artboard and state machine names.
  • Control names, types, ranges, and default values.
  • Activity and expression mappings.
  • One-time event behavior.
  • Reset and interruption rules.
  • Layout guidance.
  • A preview showing expected behavior.

Also discuss how transitions should behave when events arrive quickly.

What happens if the assistant begins speaking while its processing animation is still entering? What happens if the user interrupts speech? What should reset do?

Answering these questions early prevents integration surprises.

Verify the States Users Will Actually Encounter

Review the character inside the application, as well as in the animation editor.

Useful checks include:

  1. Rapid switching between listening, processing, and speaking.
  2. Interrupting an animation before it finishes.
  3. Returning to idle after every activity.
  4. Changing emotion during speech.
  5. Testing the minimum and maximum mouth values.
  6. Confirming that blinking continues where intended.
  7. Checking gaze limits and screen boundaries.
  8. Verifying error and recovery behavior.

Pay particular attention to combinations of controls. A character can look correct in individual previews but behave differently when activity, emotion, and speech inputs change together.

Building an AI Assistant? Give Its Character a Clear Role

ChatGPT Dots by OpenAI offers a useful starting point for thinking about ongoing interactions with AI.

For developers building their own assistants, an expressive character is one possible way to make those interactions more recognizable.

The strongest animation choices serve the product: attentive movement while listening, readable speech behavior, and clear acknowledgment when something changes.

If you need a Rive animator for an AI companion, interactive website mascot, AI toy, or robot face, I can help through Mascot Engine.

My work includes:

  • Custom character design and preparation.
  • Rive rigging and animation.
  • Expressions and activity states.
  • Audio-responsive mouth animation and viseme poses.
  • Eye and cursor tracking.
  • State machines and documented animation controls.

Send me your product idea, existing artwork if you have it, target platform, required states, timeline, and budget. We can define a practical first milestone.

Website: MascotEngine.com

WhatsApp: Discuss your AI character project

Your AI has a voice. Let’s give it a face.


Written by Praneeth Kawya Thathsara, creator of Mascot Engine. This is an independent article. Mascot Engine is not affiliated with or endorsed by OpenAI.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.