Work Case Study

Find Me Something to Cook

Recipe finder web app powered by TheMealDB API

Year
2025
Duration
1 week
Role
UX / UI Designer & Front End Developer
Softwares
Figma, FigJam, Visual Studio Code
Tools
React, Vite, Toastify, CSS
Type
Web App
Website ↗ GitHub ↗
Bridge app overview

Find Me Something to Cook is a recipe‑finding web application originally built with basic HTML, CSS, and JavaScript. I rebuilt the entire project (from my school assignment) using React to improve structure, scalability, and functionality. The goal was to transform a simple recipe search tool into a more dynamic, component‑based web app with improved styling and user experience.

The app uses TheMealDB API to fetch recipes and displays them as interactive meal cards. Users can browse meals, view detailed recipes, and save dishes to a personal notebook.

Brand color Light Brown
Theme Clean, minimal, with playful “torn paper” styling

The original version of the app worked, but it lacked structure, reusability, and modern UI patterns. As the project grew, managing JavaScript files became difficult, and adding new features required repetitive code.

You can view my previous version on GitHub:

Find Me Something to Cook V1 →
How to build the recipe finder using a modern framework so the app becomes easier to maintain, expand, and style, while keeping the interface simple and enjoyable to use?

Before migrating the project, I reviewed

  • React documentation
  • Examples of component‑based recipe apps
  • Tutorials on modals, state management, and API calls in React
  • Some competitive app: Cookpad, SuperCook, MyFridgeFood, Tasty, AllRecipes, and TheMealDB Demo

Key Insights

  • Many recipe apps offer powerful search tools, but their interfaces can feel cluttered or overwhelming
  • Ingredient‑based apps like SuperCook focus heavily on utility but lack warmth or visual personality
  • Several competitors redirect users to external recipe pages, disrupting the browsing flow
  • Most competitors prioritize quantity of features over simplicity, leaving room for a more minimal, user‑friendly approach
  • There is an opportunity to create a recipe app that feels personal, visually inviting, and easy to use, especially for users who want quick inspiration without navigating heavy interfaces

Exploring User's Scenarios

Research showed that users often felt stuck choosing what to cook. They wanted quick, simple ideas but were overwhelmed by cluttered recipe sites, long instructions, and too many choices. These patterns informed the personas for this project. I used "How Might We" statements to list some questions and selected the best ones to focus on:

How might we make choosing a recipe feel easier and less stressful?
How might we show users meals that fit their habits and preferences?
How might we help users make confident decisions without endless scrolling?
User's persona
Project's goals
Project's success criteria

I mapped out the components needed for the React version:

Core Components

  • MealCard.jsx: displays a single meal
  • MealList.jsx: renders all meal cards
  • RecipeModal.jsx: shows ingredients + instructions
  • Notebook.jsx: stores saved recipes
  • App.jsx: main container includes search bar

Supporting Files

  • api.js: handles API calls
  • index.css: global styling
  • Toastify: for alerts and notifications

This structure made the app more modular and easier to expand.

Folder Structure

I mapped out the core user flows needed, focusing on keeping interactions simple, predictable, nd low‑effort, helping users quickly find recipes, view details, and save meals without feeling overwhelmed.

  • Random recipe section, reload whenever refresh the site
  • Search bar to use any ingredient to search for the recipe
  • A recipe result section
  • A recipe card to view the ingredients and instructions
  • A favorite section
User flow diagrams

I sketched simple layouts for:

  • The search bar placement
  • The meal card grid
  • The recipe modal
  • The notebook layout

The wireframes helped me visualize how components would interact.

Wireframe explorations

Design Decisions

  • Keep a minimalist look: users like the simple, friendly design
  • Add torn‑paper styling: gives the app a cozy, scrapbook‑like personality
  • Use consistent spacing: react components made this easier
  • Improve contrast and readability: especially in the modal
  • Use Toastify for alerts: cleaner and more modern than default alerts
Recipe toasts

UI Enhancements (from the previous version)

  • Softer shadows
  • Rounded corners
  • Clean typography
  • Better spacing between cards
  • Smooth transitions

The project is now fully built and ready to explore. You can view the final website in the link below:

Visit Find Me Something to Cook Website →

Goals

  • Ensure users clearly understand how to save and manage recipes
  • Evaluate how intuitive and easy‑to‑navigate the recipe modal feels
  • Confirm that the notebook layout is readable, organized, and effortless to browse
  • Observe how smoothly users interact with the search bar and whether it supports quick, confident searching

Testing Tasks

  • Save a recipe you find interesting
  • Open a recipe and explore the modal content
  • Locate your saved recipes in the notebook
  • Use the search bar to find a meal by name

Key Takeaways

  • Users understood the save feature best when the icon or button provided clear feedback, confirming that visual cues are essential for interaction clarity
  • The recipe modal felt intuitive when information was well‑organized, showing that layout and hierarchy directly affect comprehension
  • A simple, structured notebook layout helped users navigate their saved recipes without confusion, reinforcing the value of clean information architecture
  • The search bar was easy to use when it responded quickly and provided immediate results, highlighting the importance of responsiveness in search‑driven interfaces

What I Learned

Working on Find Me Something to Cook in React was a surprisingly enjoyable experience. At first, I felt unsure about how to begin structuring the components and organizing the logic, but once I started breaking the app into smaller pieces, everything became much clearer. I already had a solid understanding of how the original version worked, which made it easier to rebuild the functionality in a more modern and organized way.

Seeing the final version of the app made me genuinely proud. The React version feels cleaner, more interactive, more polished and easier to deploy with the opportunity to expand in the future than the first version. This project helped me deepen my understanding of component‑based design, state management, and modern front‑end development. Overall, it was a rewarding experience that strengthened both my technical skills and my confidence as a developer.

Challenges

Understanding Component Structure One of the biggest challenges was figuring out how to break the app into meaningful React components. Deciding what should be a parent component, what should be a child component, and how data should flow between them required careful planning. Once the structure became clear, the rest of the project felt much more manageable.
Defining Functions and Managing State Working with useState and useEffect was both familiar and challenging. I had experimented with them before, but applying them to a larger project, especially one involving API calls, saving recipes, and updating UI elements, which required more intentional thinking. Ensuring that each function updated the correct part of the interface took time and testing.
Handling API Logic in React Integrating TheMealDB API inside React components was more complex than in plain JavaScript. I needed to make sure the data was fetched at the right time, stored properly, and passed down to the correct components without causing unnecessary re-renders.
Building the Recipe Modal Creating the recipe modal was a new challenge. It required conditional rendering, state management, and careful styling to make sure the ingredients and instructions were easy to read. Getting the modal to open and close smoothly took some trial and error.

Next Steps

Looking ahead, I want to continue expanding Find Me Something to Cook by adding more advanced filtering options, such as sorting recipes by category, region, or ingredients, and responsive in mobile screen. I also plan to enhance the notebook by introducing folders or tags to help users organize their saved meals more easily. Improving the recipe modal with subtle animations and transitions would make the experience feel smoother and more engaging. To make the app feel more polished, I’d like to incorporate loading states or skeleton screens, and eventually improve accessibility and keyboard navigation so the app is more inclusive and user‑friendly.