How ameya5006/palmchef works
PalmChef is a hands-free cooking assistant: users bring in recipes, follow cooking steps, and control narration and timers with gestures. The tree and README identify recipe import, PDF extraction, gesture, speech, timer, authentication, and offline capabilities; sampled source confirms the app routing, PDF utilities, auth API, persistence, and service-worker behavior. Wiring among unsampled recipe and assistant components is not asserted here.
Main entry points: Assistant.tsx Cooking Assistant · main.tsx Browser App · routes.tsx Page Routes · Auth.tsx Sign In
Components 25
Application
- Browser App
src/main.tsx - Page Routes
src/routes.tsx - Home Page
src/pages/Home.tsx
Recipe Preparation
- Recipes Page
src/pages/Recipes.tsx - Recipe Form
src/components/AddRecipeForm.tsx - PDF Extraction
src/utils/pdfParser.ts - Recipe State
src/store/recipes.ts
Guided Cooking
- Cooking Assistant
src/pages/Assistant.tsx - Gesture Input
src/components/GestureCanvas.tsx - Gesture Status
src/components/GestureHUD.tsx - Gesture Logic
src/utils/gestures.ts - Speech Controls
src/components/TTSControls.tsx - Speech Utility
src/utils/tts.ts - Timer Display
src/components/TimerDisplay.tsx - Cooking Session
src/store/session.ts
Accounts and State
- Sign In
src/pages/Auth.tsx - Backend API
server/index.js - User Model
server/models/user.js - User Database
server/db.js - User State
src/store/user.ts - Preferences
src/store/settings.ts - Browser Storage
src/utils/storage.ts
Offline Platform
- Offline Cache
public/sw.js
Other components
- Cook
- Gemini AI
Connections 24
- Cook → Browser App: uses
- Browser App → Page Routes: renders
- Page Routes → Home Page: routes
- Page Routes → Recipes Page: routes
- Page Routes → Cooking Assistant: routes
- Page Routes → Sign In: routes
- Recipes Page → Recipe Form: offers import
- Recipe Form → PDF Extraction: extracts PDF
- Cooking Assistant → Gesture Input: provides controls
- Gesture Input → Gesture Logic: interprets input
- Cooking Assistant → Gesture Status: shows status
- Cooking Assistant → Speech Controls: offers narration
- Speech Controls → Speech Utility: speaks steps
- Cooking Assistant → Timer Display: shows timers
- Cooking Assistant → Cooking Session: tracks session
- Sign In → Backend API: authenticates
- Backend API → User Model: queries
- User Model → User Database: persists users
- Backend API → Gemini AI: parses recipe
- Browser App → User State: reads state
- Browser App → Preferences: reads preferences
- Sign In → User State: sets user
- Sign In → Browser Storage: stores credentials
- Browser App → Offline Cache: registers offline