Crafting a “Soul Cocktail” with Kiro in a Tipsy Moment

Published: (December 31, 2025 at 08:08 AM EST)
9 min read
Source: Dev.to

Source: Dev.to

Soul Cocktail – hero image

Three things I want to explore in this post

This isn’t a “how‑to‑code” tutorial. I’m using a tiny hack project as an excuse to share some hands‑on practice and thoughts on building products with a new tool—Kiro—in the AI era.

The main character of this story is Soul Cocktail.

Try it here:

Feel free to click around. If you have ideas or feedback, I’d genuinely love to hear them.

Mood‑selection UI

Result card UI

It started from a very real moment. At a re:Invent event, a bartender asked me:

“What would you like to drink?”

…and I froze. I couldn’t answer.

Later, we took that exact scenario and built a small “order cocktails by mood” app with Kiro in one night. The next day I kept polishing it and shipped it as a shareable webpage.

Around this small project, I want to talk about three things:

  1. Background & build process – How did Soul Cocktail get made under the constraints of “a little tipsy + time‑limited + Kiro only”?
  2. Reflections afterward – Why did such a “not‑that‑complex” app win the on‑site voting? How did that change the way I think about building products and developing in the AI era?
  3. Kiro’s capabilities & how I used them – How exactly did I plug Kiro into a local project this time? Beyond vibe coding, what other capabilities are worth digging into?

1. The background and build process of a small project

1) Background: the moment I got stumped by a bartender

At the re:Invent event, the bartender asked:

“What would you like to drink?”

I blanked out. Every cocktail on the menu looked gorgeous, but my brain could only say:

“I want something to drink today, but I don’t know what that drink is called.”

It’s a common scenario: you have emotions and preferences, but the menu isn’t organized by mood. You’re forced to choose from a long list, and in that moment you really need someone who can quickly understand you.

The event rules were also special:

  • Everyone grabs a drink and relaxes first.
  • Within a limited time, use Kiro for vibe coding and build a demo from scratch.
  • At the end, everyone votes for their favorite project.

We were the only all‑women team there. Rather than trying to squeeze out a “super advanced” technical topic, we kept it simple and close to the theme and the moment:

That “getting stuck” feeling when ordering a drink can’t be just my problem—so why not build a small thing that solves exactly that?

2) Ordering by mood: the core experience of Soul Cocktail

The goal of Soul Cocktail became crystal clear:

When you need to order a cocktail but can’t put it into words, let a small app help you order based on your mood.

In Kiro I described the experience roughly like this:

  • A dark UI with a “midnight bar” vibe.
  • Floating mood bubbles on the screen; the user can pick up to three.
  • After tapping Generate, a brief “Mixing your soul cocktail…” moment.
  • A final Soul Cocktail card, including:
    • A slightly poetic cocktail name (e.g., Silver Pulse).
    • The selected moods mapped into “ingredient percentages”.
    • A short explanation of why this drink fits you today.
    • A tiny Daily Spark blessing.

I didn’t start by creating a new project and hand‑writing all the boilerplate. Instead I followed a path that fits Kiro’s strengths:

# 1️⃣ Create an empty folder
mkdir soul-cocktail && cd soul-cocktail

# 2️⃣ Open it in Kiro – it initializes the frontend project for me

From there I went into vibe coding:

Who did what?Responsibilities
MeOverall experience, page structure, mood‑selection rules, result‑card content, vibe & copy tone
KiroComponent structure, state management, styling, simple animations, continuous refactoring based on my feedback

On the first night I held one rule tightly:

Make the core flow work first: Pick moods → Mix → Get result.

3) Live demo: not me presenting—everyone playing

For the demo I didn’t stand on stage and walk through implementation details. I did something much simpler:

  • I invited people to walk up to the screen, pick their own mood bubbles, press Generate, and watch “today’s you” get mixed into a Soul Cocktail.
  • Then they saw their own Daily Spark line.

Because the final result depended on audience voting, many people had already personally experienced “ordering by mood” before they voted. It wasn’t an abstract demo anymore; it was a mini experience with their own inputs and outcomes.

In the end—among a bunch of technically “heavier” projects—Soul Cocktail took first place that night.


2. Reflections afterward

What This Small Project Made Me Rethink About Building in the AI Era

Back at the hotel – and even after I returned home – I kept circling one question:

Why did this “not‑that‑complex” little app win in that kind of setting?

1️⃣ People First, Then Technology

Two key reasons:

  1. It started from a real user moment.
    We didn’t invent a scenario just to show off. It was something many people could genuinely run into right then and there. We weren’t “teaching you about cocktails” – we were solving one very specific problem:

    “What mood am I in right now?”“Then today, I’m that drink.”

  2. The experience was simple and low‑friction.
    You instantly understand how to play. You click a few times and get a result, and that result fits the environment perfectly – people were literally already drinking.

In other words, I didn’t start from tech. I started from how I felt in that moment as a customer, and then used Kiro to help turn that into something real.

2️⃣ Build First, Then Polish

With limited time, nobody gives you a full day to design architecture properly. My choice was:

  1. Get an end‑to‑end experience first.
  2. Make the “mood → cocktail” path work.
  3. Leave details and optimizations for later.

On day two I used Kiro to:

  • Clean up the code and component structure so it wasn’t just a demo but a maintainable project.
  • Fine‑tune UI and interaction rhythm – background colors, transitions, button feedback.
  • Have Kiro walk me through “the simplest shipping path,” turning a local demo into a shareable webpage.

Build it first. Let real users try it. Then keep going.

3️⃣ In the AI Era, What Truly Needs to Change?

The biggest takeaway Soul Cocktail gave me:

With an AI IDE like Kiro, we can completely redistribute the work between humans and tools.

Kiro can handleHumans can focus on
• Code generation• Spotting real‑life moments
• Refactoring• Responding with simple, direct product forms
• Styling details• Feeling user reactions, making decisions, choosing trade‑offs
• Build config & deployment guidance• Understanding people, situations, storytelling

A lot of AI discussion stops at “efficiency” – one person can write more code and do more work. For me, what matters more is that tools let us:

  • Turn ideas into runnable things faster.
  • Keep “people with ideas” from getting blocked by low‑level details.

…and they force us to ask:

When so much detail work is automated, where should human value show up more strongly?

For me, the answer is probably:

  • Understanding people.
  • Understanding situations.
  • Making decisions.
  • Storytelling.

4️⃣ Kiro’s Capabilities and How I Used It This Time

4.1 What I Actually Used

Local project awareness
Starting from an empty local folder, I let Kiro initialize the project, generate components, and manage state – rather than doing a “single‑file cloud toy.” That made refactoring and deployment feel much more natural later.

Vibe coding: conversational coding + iterative edits
I barely did the traditional “hard‑code from an empty editor” thing. Instead I kept telling Kiro:

“I want this structure, this flow, this feeling.”

It wrote and revised; I judged and chose.

To make this smoother I added a local .kiro directory in the project and opened it in Kiro, so it always had the project context and rules handy.

Deployment guidance
When I asked, “It runs locally – what’s the simplest way to ship it?” Kiro gave a clear path:

  1. Push to a repo.
  2. Pick a hosting platform.
  3. Set build/output.
  4. Deploy.

It also helped with annoying details like build commands and output directory names.

After talking more with Kiro I discovered an even faster way for this particular setup:

Simply drag the project folder (the one containing index.html) into the drop area at the bottom of the Netlify Projects page, and Netlify will automatically deploy it as a website.

4.2 What I Want to Explore Next

Kiro Spec‑Driven Development Overview

Kiro is an Agentic IDE released by AWS that supports spec‑driven development.

Spec‑driven development means:

  1. Write the Spec first – define the problem, inputs/outputs, steps, edge cases.
  2. Let the agent break down tasks and implement strictly following the spec, instead of relying on ad‑hoc prompts and human memory at every step.

Kiro provides two core capabilities: Spec and Hook.

  • Spec – a document‑like format describing purpose, I/O, happy path, and constraints. Future work can reference it without re‑explaining everything:

    “Follow this Spec.”

  • Hook – rules that trigger actions automatically (e.g., run tests on save). Example:

# .kiro/hooks.yml
on_save:
  - run: npm test
on_commit:
  - run: npm run lint

Hooks automate repetitive actions, enforce conventions, and keep the development flow smooth.


TL;DR

  • Start with a real user moment.
  • Build a minimal, frictionless experience first.
  • Use an AI IDE (Kiro) to generate, refactor, style, and ship fast.
  • Let humans focus on empathy, decisions, and storytelling.

Certain Checks When Saving Files

  • Auto‑generate corresponding tests when code changes in specific directories.
  • Validate compliance with a spec before commit.

These upgrades shift part of your workflow from “people must remember to do this” to “the IDE just does it.”


Soul Cocktail Experience

For Soul Cocktail I mainly used vibe coding plus a local project workflow. Spec and Hook were only lightly touched.

But for day‑to‑day work and personal projects, I want to deliberately turn repeated workflows, product rules, and team conventions into Specs—then combine them with Hooks—so these experiences become reusable, shareable “spec assets” inside Kiro, instead of living only in my head.


Epilogue: Starting with One Drink, and Moving on to More “Small Problems, Small Projects”

After returning to everyday life, Soul Cocktail left me with a very direct change:

I started paying more attention to those little “stuck” moments in my life—

  • booking restaurants while traveling,
  • jotting down notes I can’t find later,
  • not knowing what to prioritize first—

and I used a similar approach to build a few small projects for myself, using Kiro and other AI tools to ship them quickly.

They’re all small. Some are tools only I might ever use. But they keep reminding me of something:

AI doesn’t just mean “faster code.” It’s also a chance to keep asking myself:
How many more of these “just‑right” little things can I build for my life—and for other people’s lives?

Soul Cocktail is just one drink.

Next, I hope to keep using Kiro and other AI tools to turn more “small problems, small projects” into real, usable things—and share those practices with more people.

Back to Blog

Related posts

Read more »

AI SEO agencies Nordic

!Cover image for AI SEO agencies Nordichttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...