Research questionHow much personality can a product express with only two eyes and motion?
A pocket-sized companion that communicates entirely through two animated eyes.
Interactive Character explores how much personality a product can express without words, buttons or an app. He lives on a 3 cm round touchscreen with a motion sensor, and reacts to how he's treated: he gets dizzy when shaken, gives puppy eyes when picked up, rolls his eyes if you tap him too often, and falls asleep when left alone. I design every expression and behavior, then test them on the real device.
- Role
- Character, interaction and product design
- Tools
- ProcreateFigmaArduino (ESP32-S3)Blender
- Timeline
-
6-month independent project, ongoing
Sep 2026Mar 2027 - Status
- Working prototypev0.6
How I tuned the feeling
I worked with an autobiographical design approach (Neustaedter & Sengers, 2012), using myself as the first reference. After every version I played with him and asked what he made me feel, then changed the next version to get closer to the emotion I wanted. Friends, classmates and teachers held him too. I watched their faces and asked questions like “What does this remind you of?”
- 01Builda version on the real device
- 02Playwith it, and watch others hold it
- 03Feelnotice what it makes me feel
- 04Adjustthe next version toward that feeling
-
First face
Gold-rimmed eyes with a white spark, an unimpressed resting face, spinning stars when shaken.
It looked artificial. When I looked at it, I didn’t feel much.
-
The puppy question
Redesigned eyes from Figma. The pupil notices first and the eyes follow, painted on an invisible ball that turns.
I asked why people feel drawn to puppies, and built those cues into the face.
-
A new base face
Flat-topped eyes with raised inner corners and tall pupils toward the nose. Puppy eyes, a head tilt, and distrust after shaking.
The shake sensor reacted to every small movement of my hand, so I made it calmer.
-
Memory
He holds a grudge, rolls his eyes (from my hand-drawn frames), never repeats an idle moment twice, and follows taps and gravity.
Next: petting, a press and hold that he can respond to.
The raised inner corners and large pupils toward the nose borrow from the baby schema, the features that make a face read as young and worth caring for (Lorenz, 1943), and from the inner-brow raise that makes dogs’ eyes look bigger (Kaminski et al., 2019).
Sketching the expressions
Every reaction started as a pencil sketch in Procreate. I drew each step of the feeling first, refined the frames in Figma, then built them on the device.
Behavior map
What he does, and what makes him do it. He reads touch, motion and orientation, and remembers how he was treated.
24 moods10 triggers1 memory
- Pick upPuppy eyesOne blinkHuh?if he holds a grudgeSide-eyeEye roll
- ShakePupils spinEyes shut after 3 sQuestions youSuspiciousConvincedHead shakeCalmGrudge · 2 min
- Flip upside downPanicReliefGrudge · 1 min
- TiltPupils sink to the low side
- Face downLights outWakes when turned back
- TapLooks where you tapped
- Drag a fingerEyes follow it
- 3 quick tapsEye roll
- Every 25–45 sHuh? or side-eye or thinkingNever twice in a row
- Left aloneDozesSleepsWakes on touch or motion
Inside the character
He’s three layers stacked in a 60 mm shell: a round touchscreen that is his whole face, an ESP32-S3 board with a motion sensor behind it, and a 400 mAh battery underneath. A screwed-on back lid holds everything together, so I can open him up while I keep iterating.
The screen reads touch, and the motion sensor tells him when he’s picked up, shaken or turned over. I sketched each base emotion frame by frame in Procreate, refined the frames in Figma, then rebuilt the eyes in code so he draws them live. He also remembers how he’s been treated, so being shaken twice in a row gets a different look than the first time.
Two rounds of printing
The shell is two 3D-printed parts: a front shell that frames the round screen, and a back lid that closes it. These are the real print files from both rounds. Drag to turn them around, hover to put them together.
- Front shell
- 62 × 62 mm, with a keyring loop on top
- Back lid
- 4.4 mm deep, no screw holes
- Learned
- The USB-C opening didn’t print cleanly, and the front and back didn’t hold together securely.
- Front shell
- 60 × 60 mm, keyring loop removed
- Back lid
- 7.3 mm deep for more room inside, with screw holes in the corners
- Why
- Screws now hold the two halves together, and the deeper lid leaves more room for the parts inside.
References
- Neustaedter, C., & Sengers, P. (2012). Autobiographical design in HCI research: Designing and learning through use-it-yourself. Proceedings of DIS 2012, ACM.
- Lorenz, K. (1943). Die angeborenen Formen möglicher Erfahrung. Zeitschrift für Tierpsychologie, 5(2), 235–409.
- Kaminski, J., Waller, B. M., Diogo, R., Hartstone-Rose, A., & Burrows, A. M. (2019). Evolution of facial muscle anatomy in dogs. PNAS, 116(29), 14677–14681.