DEV Community

Cover image for 🎀 Building EmoChild — A Digital Inner Child That Grows With Your Emotions
olivia-tech-psych
olivia-tech-psych

Posted on

🎀 Building EmoChild — A Digital Inner Child That Grows With Your Emotions

(with Demo Video, Screenshots & How Kiro Helped Me Build It)

For a long time, I wanted a tool that didn’t punish emotions — but rewarded them.
Something gentle, soft, low-sensory, and kind. Something that would let people (including me) practice emotional regulation in a way that felt playful instead of heavy.

That’s how EmoChild was born — a modern reinterpretation of the 1996 Tamagotchi, but instead of feeding or cleaning it…
you help it grow by taking care of your own feelings.

🎥 Demo Video
(https://youtu.be/P1iFQBk0_BM)

🟣 Live App: https://emochild.vercel.app
🟣 GitHub Repo: (https://github.com/olivia-tech-psych/emochild)
🟣 Built with Kiro: https://kiro.dev


💜 Why I Built EmoChild

I grew up feeling like emotions were “too much.” As an adult — especially studying psychology — I realised how common this is. A lot of people don’t know how to express or name what they’re feeling.
Sometimes we suppress. Sometimes we disconnect. Sometimes we forget we even have needs.

I wanted to build something simple enough for anyone, but still grounded in real cognitive science:

  • Emotional naming lowers amygdala activation
  • Self-validation builds inner safety
  • Externalized metaphors support emotional literacy
  • Visual feedback loops improve behavioral learning

So EmoChild gives you a tiny creature — your inner child — that grows brighter and bigger when you express a feeling… and curls inwards when you suppress it.

It mirrors the inner world so many of us never learned to notice.


💡 How Kiro Helped Me Build This

Kiro wasn’t just a “helpful AI assistant” — it became part of my workflow in a deeper way. EmoChild exists because Kiro gave me structure when the project could’ve become chaotic.

✧ 1. Kiro Specs (Requirements → Design → Tasks)

Every feature in EmoChild started as a Kiro Requirement, expanded into a Design Spec, and finally broken into Tasks I could implement one by one.

It kept me grounded.
Instead of coding random ideas, I followed a roadmap that I had written, but Kiro helped me refine.

Spec benefits:

  • Prevented feature drift
  • Helped me define correctness properties
  • Mapped every requirement to implementation
  • Made property-based tests easy

I ended up with two full versions of specs (v1 + v2), covering landing page, color customization, micro-sentences, quick emotion logs, and more.

A screenshot of the Kiro Specs interface showing the structured requirements, design properties, and tasks for the EmoChild project. The screen displays neatly organized markdown documents in folders like “requirements.md,” “design.md,” and “tasks.md,” arranged inside the .kiro/specs/emochild/ directory.


✧ 2. Kiro Agent Hooks

This was honestly one of the most unexpectedly helpful parts of the whole build.

I only used one Agent Hook — the one that updates my README automatically whenever core folders change — but even that single hook felt like having a tiny automated teammate living inside my repo.

  • Whenever I added new components or refactored files, the hook quietly updated my README sections like Current Features, File Structure Overview, and Kiro Features Used.
  • When the folder names changed and my AI chat history temporarily disappeared, the hook still preserved the rest of my project’s context and didn’t break anything.
  • It summarized changes cleanly, added timestamps, and made my documentation feel “alive.”

Even though the hook was simple, the feeling of having a self-maintaining project was profound — like the codebase was growing with me, not just because of me.

It felt like the project was co-built through a real cognitive partnership.

A screenshot showing the Kiro Agent Hooks editor, with a hook script open that defines automated behavior triggered by code changes. The code area contains the


✧ 3. Vibe Coding

This is where building became fun.

Kiro let me describe components the way I felt them:

“Make the creature’s curl animation look like a shy withdrawal, soft and slow.”
“Make the micro-sentences appear like tiny comforting whispers.”
“Make the pastel palette gentle for sensory-sensitive users.”

Kiro translated these emotional vibes directly into real UI/UX code.

The result:
A UI that feels alive, soft, and very “inner-child-safe.”


📸 Screenshots + What Each Screen Means to Me

Below are the screenshots with deeper, personal captions.


1.🌸 Landing Page

This is the first thing you see — intentional soft colors, gentle gradients, and a sentence that invites you to slow down.
I wanted it to feel like a breath.

Welcome to EmoChild — a Tamagotchi reinvented for emotional regulation. Every feeling you express helps your inner child grow brighter, safer, and more alive.


2. 🎨 Setup Form

I added customization because self-connection takes time.
Naming the creature is the first step of forming a relationship with your inner world.

Customize your inner creature’s name, color, and accessories. Personalization transforms emotional processing into a gentle ritual.


3.🐣 Creature Idle / Home Screen

The creature is intentionally round, non-human, and non-threatening — so nobody feels judged.
Its states mirror core nervous system states: expansion, contraction, stillness.

Your creature reflects your emotional world. Its brightness and size shift based on how openly you express or gently suppress emotions.


4.💬 Emotion Input + Quick Emotions

Some days we can type.
Some days we can only tap.
Both are valid.

Log emotions in seconds — type freely or choose a quick emotion shortcut. Every validated feeling adds to your creature’s growth.


5.✨ Micro-Sentence Messages

These were deeply personal to write — they’re based on real validation strategies I often wish I had growing up.

Micro-sentences give instant emotional validation — small reminders that your feelings make sense, in your own rhythm.


6.📘 History Page

The history isn’t for “productivity tracking.”
It’s for noticing patterns in your nervous system over time.

Full emotional history in reverse order. Edit, delete, or export your data (CSV) — your emotions belong to you.


7.📄 CSV Export

This makes the app therapy-friendly and research-friendly.
And emoji-safe encoding was… harder than I expected. 😅

Your entire emotional journey can be downloaded with one tap — clean formatting, emoji-safe encoding.


8.🛠️ Settings Page

Because identity changes.
And so does your inner world.

Return anytime to rename your creature, change its color, or switch accessories. Growth evolves with you.


🌈 What’s Next?

I want to extend EmoChild with:

  • multi-creature states
  • deeper nervous system modeling
  • weekly emotional summaries
  • journaling prompts
  • post-emotion grounding tools
  • and maybe a “teen version” of the creature someday

But even now, EmoChild is something that feels meaningful to me.
If even one person feels seen or supported by it, it’s worth it.


💞 Final Thoughts

This app was more than a hackathon submission.
It was a way of healing, expressing, creating, and learning — all at once.

If you try EmoChild, I hope you feel even a little more connected to yourself.

🟣 Live App: https://emochild.vercel.app
🟣 GitHub Repo: (https://github.com/olivia-tech-psych/emochild)
🟣 Built using Kiro: https://kiro.dev
🎥 Demo Video: (https://youtu.be/P1iFQBk0_BM)

Top comments (0)