Inspiration

I wanted to create a platform that makes cooking decisions effortless, personalized, and fun. I noticed that people often have ingredients at home but struggle to decide what to cook, and online recipes rarely consider local taste or available ingredients. Cheffry was born to bridge that gap: an AI-powered cooking assistant that personalizes recommendations based on your ingredients, local cuisine, and past interactions.


What it does

Cheffry is a full-stack web app that helps users:

  • Discover meals based on available ingredients.
  • Interact with an AI Chef assistant for step-by-step cooking guidance.
  • Post, like, comment, and share recipes in a community feed.
  • Prioritize posts based on the user’s country and interaction history.
  • Access Pik-a-Do: a feature where users select ingredients and get recipe suggestions, complete with step-by-step instructions.

How we built it

The project was built using fully free tools and leveraged AI extensively to speed up development:

  • Architecture planning: ChatGPT helped me design the database, API structure, and feed prioritization logic.
  • Frontend: Built with v0.dev for the initial structure, refined with Jules.
  • Landing page: Created using AI Studio, and image positioning issues were resolved using Claude.
  • Backend: Supabase for database, authentication, and storage.
  • AI integration: Gemini API powers the AI Chef for real-time, contextual cooking guidance.
  • Debugging & optimization: ChatGPT assisted in resolving multiple frontend errors and layout issues.

Key technologies and files include:

  • Frontend pages: app/(app)/dashboard/page.tsx, app/(app)/chef/page.tsx, app/(app)/pik-a-do/page.tsx, app/(app)/profile/[userId]/page.tsx, app/(app)/settings/page.tsx
  • Components: chef-chat.tsx, feed.tsx, post-card.tsx, recipe-view.tsx, pik-a-do-wizard.tsx
  • Supabase integration: lib/supabase/client.ts, lib/supabase/server.ts
  • AI service: services/geminiService.ts
  • Database scripts: scripts/001_create_tables.sql004_country_interaction_function.sql

Challenges we ran into

Building Cheffry wasn’t without hurdles:

  • AI Chef chat history: Initially, messages disappeared on browser refresh. We needed to persist only actual AI conversations while keeping the UI performant.
  • Chat layout: The input bar wasn’t sticking to the bottom of the screen, making interaction awkward.
  • New chat button: Start a new conversation button didn’t function reliably.
  • Live post updates: Newly created posts weren’t appearing in the feed without a page refresh.
  • Media in posts: Users couldn’t attach images or videos when creating posts.
  • Authentication errors: Supabase calls occasionally failed (net::ERR_CONNECTION_CLOSED) and caused React minified errors (#130) in production.
  • General UI bugs: Image positioning, responsive layout issues, and component misalignment.

Each of these was systematically addressed, often using AI-assisted debugging and iterative testing.


Accomplishments that we're proud of

  • Full-stack web app built entirely with free tools.
  • Seamless AI-powered cooking guidance integrated into the platform.
  • Personalized feed that adapts to user country and interaction history.
  • Pik-a-Do: ingredient-driven recipe suggestions with step-by-step instructions.
  • Smooth frontend experience with live feed updates, media-rich posts, and persistent AI chat history.
  • Rapid development and problem solving using AI-assisted coding workflows.

What we learned

  • AI can significantly accelerate full-stack development if guided correctly.
  • Designing a scalable database and feed ranking logic is crucial for performance and user experience.
  • Handling persistent state in the browser (chat history, live updates) is tricky but achievable with careful planning.
  • Free tools like Supabase and Gemini are powerful enough for production-ready hackathon projects.

What's next for Cheffry

  • Enhance AI Chef with multi-turn reasoning and recipe customization.
  • Allow users to follow other cooks and improve community interactions.
  • Add video step-by-step guides and richer media integration.
  • Implement advanced feed ranking algorithms based on likes, comments, and AI suggestions.
  • Expand Pik-a-Do ingredient database to cover more countries and cuisines.

Built With

Share this project:

Updates