Skip to content

Repository files navigation

Tuck In: Three ingredients, one easier tomorrow

Tuck In logo

Tuck In is a six-screen ritual for turning overlooked fridge ingredients into a plan for tomorrow's lunch. Choose any three illustrated ingredients, carry the trio forward, add one gentle direction, and reveal the packed result. The interactive runtime is public and intentionally small: no accounts, storage, recipe database, or external food API.

TypeScript Vite React Tests License: MIT

Live: tuck-in-app.vercel.app


Tuck In landing screen

Live Demo

Open Tuck In

Choose three cards on the fridge shelf, continue through the board and lunchbox reveal, then restart the ritual. The complete loop runs in the browser without sign-in.

What Is Tuck In?

Leftovers rarely fail because of a missing recipe. They get forgotten when making one more decision feels like too much. Tuck In makes that decision finite, visual, and easy to carry into tomorrow.

The original six-screen visual artifact was created in Flowstep. This React and Vite runtime provides the session-only selection state needed to carry three choices across screens. The two artifacts are linked separately so their roles stay clear.

Screenshots

Fridge shelf Three-pick board
Fridge shelf Three-pick board
Lunchbox reveal
Lunchbox reveal

Features

  • Three-choice rule: Select exactly three of six illustrated ingredients.
  • Visible progress: The counter shows the selection moving from zero to three.
  • Carry-forward state: The selected trio reappears in shelf order on later screens.
  • Gentle constraint: A single direction turns the trio into an achievable next step.
  • Lunchbox payoff: The same choices resolve into tomorrow's packed meal.
  • Clean restart: Reset returns the ritual to the first screen with no selected cards.

How It Works

Browser
  |
  v
React application
  |
  +--> selection rules
  |      |
  |      v
  |   chosen trio in session state
  |
  +--> six-screen ritual
         |
         v
      board, constraint, lunchbox, restart

The runtime keeps selection state in the client. The Flowstep design source provides the visual system and original screen artifact. No user data leaves the browser.

Tech Stack

Layer Technology
Visual design source Flowstep
Interactive runtime React 19 and Vite
Language TypeScript
Tests Vitest and Testing Library
Hosting Vercel

Testing

The test suite covers selection limits, carry-forward behavior, navigation, restart behavior, and the six-screen journey.

npm test
# Result: 9 passing tests

Try It (2 minutes)

  1. Open Tuck In.
  2. Select three ingredients from the fridge shelf.
  3. Continue to the board and confirm the same three cards appear.
  4. Follow the constraint and open the lunchbox reveal.
  5. Restart to clear the selection.

Running Locally

git clone https://github.com/dmustapha/tuck-in.git
cd tuck-in
npm install
npm run dev

Open the local URL printed by Vite.

Project Structure

src/
  app/              # Screens, selection logic, and test coverage
  main.tsx          # Application entry point
public/             # Product assets
docs/images/        # Repository screenshots

Built for the Flowstep Challenge.

License

MIT

About

A six-screen ritual that turns three overlooked leftovers into tomorrow's lunch.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages