(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.
✧ 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.
✧ 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.
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.
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.
4.💬 Emotion Input + Quick Emotions
Some days we can type.
Some days we can only tap.
Both are valid.
5.✨ Micro-Sentence Messages
These were deeply personal to write — they’re based on real validation strategies I often wish I had growing up.
6.📘 History Page
The history isn’t for “productivity tracking.”
It’s for noticing patterns in your nervous system over time.
7.📄 CSV Export
This makes the app therapy-friendly and research-friendly.
And emoji-safe encoding was… harder than I expected. 😅
8.🛠️ Settings Page
Because identity changes.
And so does your inner world.
🌈 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)