Studiyo June 2026  ·  Confidential  ·  Valid 30 days
Prepared for EatCookJoy

Joy
Mascot System

Joy is your AI cooking assistant. This document outlines exactly what we are building, what you receive at each stage, and what the investment looks like across two tiers.

What we are building

A complete character system

Not just a set of animations — a flexible platform that grows with your app. Joy welcomes users on first launch, thinks while a menu is being generated, celebrates when a chef is booked, and guides people step by step through a recipe. Every emotion and every in-app moment is covered.

The foundation is built so that adding a new expression later instantly works across every existing animation. Adding a new animation instantly works with all 14 existing expressions. Everything compounds.

14
Expressions
3
Mood loops
15
App moments
5
Celebrations
6
Props

1
Phase One
Designing Joy
Week 1  ·  3 days

Before any animation begins, Joy needs to look right. We explore two visual directions and you choose the one that fits your brand. Once locked in, we draw her at every angle she will appear in the app and sketch all 14 emotions in flat form. This phase sets the creative direction for everything that follows.

What you will see and approve
Two complete character directions to choose from
Refined final design once a direction is chosen
Joy drawn facing front, looking left and right, and in profile
All 14 emotions sketched in flat form
Joy shown holding each of the 6 cooking props
What you receive
  • Final Joy character design file (Figma)
Your approval is needed here before we move to Phase 2. Once you sign off on the design, we build the animation system around it. Any visual changes requested after this gate will affect the timeline.
Previous work — tripbff travel app
tripbff mascot in three states: default, going on a trip, and travel friends meet up

tripbff is a travel companion app. We designed the full character across its core states — default idle, a prop-based trip variant with hat and walking stick, and a two-character scene for the friend meet-up moment. All three share the same underlying design so they feel like one coherent character at every point in the app.

2
Phase Two
Building the Animation System
Week 2  ·  3.5 days

This is where Joy becomes a living character. We build the underlying system that lets her move, look in any direction, and show any emotion at any moment. Think of this as the engine — invisible to users, but everything that follows depends on it being built well.

Joy learns to look left, right, up, and down. Any emotion can be applied at any head position. Any prop can be added to any animation.

What you receive
  • Base character system — Joy can move but animations are not yet added
  • All three sizes working and tested
Previous work — character build process

tripbff build progression. Every character starts the same way — color palette defined, structural wireframe built, texture pass applied, final render polished. This is the same process we follow for Joy, ensuring the character holds up at every size and in every context before a single animation frame is produced.

Rive state machine architecture
Hand-drawn state machine diagram showing Idle, Correct Animation, Incorrect Animation, and Neutral Reset Pose states connected by transitions

State machine planning for a previous character project. Before building in Rive, we map out every state and how the character moves between them. Idle flows to a correct or incorrect animation, each resets to a neutral pose, and the cycle repeats. Joy's system follows the same logic — named states your developers trigger directly from code, no guesswork.

Previous work — tripbff in-app animations

In-app animation samples for the tripbff mascot, built in Rive and triggered directly by the state machine. Each animation responds to a specific user action — the same approach used for every animation in Joy's system.

3
Phase Three
Expressions and Emotions
Week 3  ·  7 days

Joy learns to feel things. We animate all 14 expressions and build three background mood loops that play as ambient states. Because emotions sit on a separate layer, any expression works at any head position in any animation — no extra production required.

ExpressionWhen Joy uses it
NeutralResting, waiting, default state
HappyMenu created, recipe saved, chef booked
SadNo chefs available, something could not be done
FrustratedErrors, things going wrong
SurprisedFirst great chef match, something unexpected
ThinkingAI generating a menu, processing a link
FocusedCooking mode, reading a recipe step
EncouragingStep completed, progress made
CuriousBrowsing, exploring chefs or recipes
ExcitedAbout to hit a milestone, great match found
SleepyWidget, lock screen, long inactivity
LovingA regular chef shown, a household favourite recipe
ProudStreak completed, something hard finished
CheekyFun social moments, personality beats
Mood loopFeels likeUsed when
HappyGentle float, warm glowDefault throughout the app
SadSlow, slightly heavyWhen something cannot be done
FrustratedStill, a quiet tensionErrors — always resolves to Happy once fixed
What you receive
  • All 14 expressions working in the character system
  • 3 mood loops playing cleanly on seamless repeat
Previous work — Tradezella expression system
Tradezella mascot showing 8 expressions: Thinking, Disappointed, Mad/Angry, Smirk, Happy, Motivated, Confused, Excited

Tradezella is a trading performance and analytics platform. We built a complete expression system for their mascot covering 8 emotional states — Thinking, Disappointed, Mad/Angry, Smirk, Happy, Motivated, Confused, and Excited. The brief was to capture the full emotional arc of a trader: focused analysis, the frustration of a loss, the energy of a winning position. Every expression sits on the same character rig and swaps cleanly into any animation, exactly as Joy's system is designed to work.

4
Phase Four
In-App Moments
Weeks 4–5  ·  6.5 days

Joy now covers every key moment a user encounters across the app. Each animation is mapped to a specific trigger — what the user does, and what Joy does in response. The menu generation moment is the most important: right now when a user taps Generate Menu, there is nothing on screen while the AI works. Joy fills that wait and makes the experience feel alive.

MenusWhat triggers it
Welcome to MenusFirst time a user visits with no menus yet
Generating a menuUser taps Generate Menu — Joy thinks until the result arrives
Menu revealedMenu appears — Joy celebrates
Editing modeUser taps Edit Menu
RecipesWhat triggers it
Empty cookbookFirst visit with no saved recipes — Joy holds an open book
Adding a recipe by linkUser pastes a URL — Joy leans in, curious
Recipe savedSuccessful import — quick celebration
Cooking modeUser enters the step-by-step view — Joy focuses
Watching the timerTimer is running — Joy glances at the countdown
Step completedUser advances a step — Joy encourages them
Recipe finishedAll steps done — Joy presents the finished dish
Kitchen, Chefs and globalWhat triggers it
Empty kitchenUser visits Kitchen with no ingredients added
Chef bookedBooking confirmed — big celebration
Something went wrongError of any kind — Joy is gentle about it
First launch welcomeVery first time the app is opened
Core tier covers 8 of these 15 animations — the highest-impact moments for launch. The remaining 7 can be added as a follow-on project once the app is live.
What you receive
  • All in-app animations working in the character system
  • Preview video of every animation (MP4, one per animation)
Previous work — live in app

The otter mascot running inside a live onboarding flow. This is what the end result looks like to a real user — the character sitting naturally within product screens, animated and responsive, not a mockup. Joy will be built and integrated to the same standard.

5
Phase Five
Celebrations and Props
Week 6  ·  5.5 days

The five milestone moments users will remember — and six props that make Joy feel like she genuinely belongs in a cooking app. Achievement animations are longer and more expressive than standard in-app moments. They are designed to feel special and shareable.

MilestoneWhat Joy does
First menu plannedTheatrically opens and presents a recipe book to camera
First recipe savedDoes a chef’s kiss, spatula in hand
First chef bookedThree claps, then both arms raised in victory
Cooked 5 nights in a rowRaises a frying pan overhead like a trophy, sparks fly
Grocery list all doneSwings a full grocery bag, a checkmark appears
Core tier includes the first three milestones. Milestones 4 and 5 can be added later.
Cooking propWhere it appears
Frying panCooking streak milestone
Wooden spatulaStep complete, first recipe milestone
Open recipe bookEmpty cookbook, first menu milestone
Grocery bagGrocery list milestone
Bowl of food with steamRecipe complete animation
TomatoMarketing and social content
What you receive
  • All milestone animations built and working
  • All 6 props designed and attached to the character
  • Preview video of each milestone (MP4)
Previous work — mascot animations

Animation work from another character project showing range in motion style, expression, and energy — from high-energy celebration moments to calm ambient states. Joy's achievement animations are built with the same attention to pacing and character personality.

6
Phase Six
Polish and Handoff
Week 7  ·  4 days

Everything is tested, polished, and packaged so your development team can drop Joy into the app without friction. We check that every animation loops cleanly, every emotion works at every size, and every prop sits correctly in every animation that uses it.

Your team receives a plain-language guide that tells them exactly how to trigger every animation and emotion from code — with clear examples, no technical experience needed to follow it.

What you receive
  • Final Joy file — full size, complete and ready for your app
  • Final Joy files — small and tiny sizes for chat and the nav button
  • MP4 export of every single animation — for review, presentations, and social
  • Developer guide — plain-language trigger instructions for your dev team

Investment

Two tiers, one foundation

The character, the expressions, the props, and the emotion system are identical in both tiers. Core launches with a smaller animation library that can be expanded at any point. Full covers the entire app from day one.

Core system
$16,000
26 days  ·  4 weeks focused

  • Character design + animation systemIncluded
  • 14 expressionsAll 14
  • 3 mood loopsAll 3
  • In-app animations8 of 15
  • Milestone celebrations3 of 5
  • Cooking props6
  • All app sizesIncluded
  • MP4 preview packIncluded
  • Developer guideIncluded
The launch package. Same foundation as Full — 7 animations and 2 milestones added later as the app grows.
Payment: 50% on project start to begin character design immediately. 50% on final delivery. All files and full IP ownership transfer to EatCookJoy on final payment. Timeline assumes dedicated focus — add 2 weeks if running alongside other work.

To get started

What happens next

01Choose Full or Core and let us know
02Sign off on this proposal
03Send the 50% deposit — character design begins within 3 business days
04Share your existing brand files and any Joy reference material
05Let us know your development environment (iOS, Android, or React Native)
06Kickoff call to align on priorities and walk through the plan together