ChefyAI

A recipe assistant built with React and Puter.js. It keeps conversation context, checks AI readiness, and handles pending responses and provider errors in the chat.

ChefyAIClick to zoom
Role
Frontend Developer
Timeline
1 month
Team
Solo Project
Status
Completed

Built with

  • React
  • JavaScript
  • Tailwind CSS
  • Framer Motion
  • Puter.js
  • Vite

The brief

A recipe question often needs a follow-up: swap an ingredient, change a portion, or clarify a step. ChefyAI uses a conversation so each request can build on the previous answer.

Built the recipe chat, Puter authentication integration, request state, and responsive frontend.

Implementation notes

  1. Keep conversation context

    Each request includes the message history and a cooking-focused system prompt. Follow-up questions use the existing conversation instead of starting from an isolated prompt.

  2. Wait for the provider

    The interface checks whether the Puter AI client is ready and exposes that state. Empty input is ignored before a request is sent.

  3. Handle response variation

    The reply handler accepts string responses or message objects. Pending requests show feedback, and caught errors appear in the conversation.

Current result

A deployed recipe chat with provider authentication and a complete request-and-response flow. AI generation runs through Puter.js from the browser.

From a question to a conversation

Ask for a recipe or describe available ingredients, then follow up in the same chat. The interface retains previous messages, moves the conversation to the latest response, and shows when the assistant is waiting for an answer.

Keeping the frontend understandable

Provider readiness, authentication, input, message history, and request progress have different responsibilities. Keeping those states distinct makes it possible to explain why the interface is waiting and handle errors without discarding the conversation.

The project uses Puter for provider access rather than maintaining a custom AI backend. The source makes that integration and its client-side state handling available to inspect.

"You have a right to perform your prescribed duty, but you are not entitled to the fruits of actions."
Bhagavad Gita

Design by SahilCodex
© 2026. Built with hands.