Vibe Coding with AI: Ship a Tiny App in an Hour

Abstract green gradient with soft vertical wave-like brush strokes, evoking a sense of motion and depth

This worksheet was created for a cross‑team Lunch & Learn at Risk Ledger on AI & "vibe coding." It's designed for all abilities - whether you've never touched AI before or you've been building for years. See what the team built during the session.

What is Vibe Coding (+ prompting)?

What we'll build & setup

  • We're making a tiny web app called Win Logger - a simple place where people log small wins in real time. It's deliberately lightweight so we can focus on how we build, not wrestling with scope.
  • We'll take it through four fast iterations: start bare-bones, add features, improve UX & end with something you'd actually share. Each round is about making one meaningful change, shipping it, and seeing if it moves us forward.
  • We'll be using (pick one):
  • At the end, you'll have gone from zero → working app in under an hour, learned the mechanics of vibe coding and seen how AI + no-code/low-code tools can get you to "something real" faster than you think.

The four rounds (ready-to-copy prompts)

Ship one meaningful change each round. After you've done it: post a link/screenshot + one sentence - what changed and why.

1️⃣ Basic Win Logger

Goal: Add a win → it appears instantly at the top of the list.

Create a simple web page with:

  • A text input labelled "What did you achieve?"
  • A submit button labelled "Add"
  • A live‑updating list showing all submitted wins, most recent at the top

Keep it minimal and clean. No extra features yet.

2️⃣ Users, Emoji, Timestamps

Goal: Each win shows name, emoji (if any), and timestamp.

Update the app to include:

  • A field to capture the user's name (or initials)
  • Optional emoji per win (e.g., pick from a small set or accept :emoji: syntax)
  • Each win shows the time it was added (timestamp)

Maintain live updates. Keep the UX simple and fast.

3️⃣ Styling, Total Badge, Persistence

Goal: Refresh doesn't lose data; total badge updates live.

Update the app to include:

  • A badge at the top showing the total number of wins submitted so far
  • Dark mode with a bold, modern font and card‑style containers for each win
  • Persist wins in localStorage so the list survives page refresh

Keep interactions snappy and accessible.

4️⃣ Power‑Up / Personalise (your pic)

Goal: Pick one upgrade (or invent your own) and push it further.

  • Ideas:
    • Copy a win or share via email/Slack
    • Top users by total wins
    • Let users edit or remove their own wins
    • Filter by user, emoji, or date
    • Confetti or "👏" on add
    • Export the win list as CSV or screenshot
    • Make it responsive and lovely on mobile
    • Show a positive message when a win is added
    • Avg wins per user, most popular emoji, busiest hour
    • Anything that would delight you

Reflections & Present Back

  • You've just shipped four iterations in under an hour.
  • Post link/screenshot in #lunch-learn 🔗
  • Answer quickly:
    1. What did you learn?
    2. What would you add next?
    3. Where else at work would this approach help?

Further Reading

Created by Dan McKenzie - see what we built in this LinkedIn post. Feel free to reach out, book a call, or download the worksheet if you'd like to chat about any of it.