Inspiration

It can be hard to follow recipes while cooking, especially when your hands are messy or you're multitasking in the kitchen. We wanted to create a hands-free cooking assistant that guides you through recipes step-by-step, making cooking more accessible and enjoyable for everyone.

What it does

LiveCook is a web-based cooking assistant that helps users follow recipes with ease. Users can browse recipes, view detailed step-by-step instructions in an interactive modal, and navigate through cooking steps using keyboard shortcuts or buttons. The app stores recipes with structured data including ingredients, descriptions, and individual cooking steps, making it easy to follow along without constantly scrolling or touching your device with dirty hands.

How we built it

We used Vite.js with React and TypeScript for our frontend to create a fast, responsive user interface. The backend is powered by Flask with SQLAlchemy for database management and Flask-CORS for cross-origin requests. We implemented a REST API with full CRUD operations for recipe management, storing step-by-step instructions as JSON arrays in a SQLite database. The frontend features an accessible modal component with keyboard navigation (arrow keys for next/previous, Esc to close) and is designed with a clean, intuitive interface.

Challenges we ran into

We spent too much time planning so time constraint was a huge problem.

Accomplishments that we're proud of

We were able to build a full-stack application that helps people with everyday hobbies. We are proud of the fact that we were able to implement new APIs into out application.

What we learned

We learned how to implement voice recognition into web applications using the Web Speech API. We also gained experience with full-stack development, including React hooks, TypeScript type systems, Flask routing, SQLAlchemy ORM, and how to structure a modern web application with proper separation of concerns.

What's next for LiveCook

We plan on polishing our app and fixing a lot of bugges that we ran into due to time constrains.

Built With

Share this project:

Updates

Submission history