A comprehensive restaurant staff training platform with AI-powered menu knowledge assessment and customer service practice.
-
🎓 Trainee Mode: Interactive chat with AI to practice menu knowledge
- Real-time responses about menu items, allergies, and customizations
- "Check Answer" feature to evaluate server responses
- Instant feedback on accuracy
-
▶ Demo Mode: One-click walkthrough of all features
- 6-step scenario from allergy query to order customization
- Shows real AI responses in action
-
⚙ Manager Mode: Full menu management interface
- Add/edit/delete menu items
- Search and filter items by category
- View customer review insights
- AI-powered analysis of improvement areas
-
📊 Knowledge Assessment: Personalized training profiles
- 5-question quiz to assess staff knowledge
- Adaptive training based on weak areas
- Progress tracking and skill visualization
-
📤 JSON Menu Import: Easy menu customization
- Import custom restaurant menus from JSON files
- Use provided
menu.jsonas a template - Full support for items, categories, allergens, and substitutions
Open index.html in your browser.
- Get a free API key from Groq Console
- Paste it in the "Groq API key…" field in the top bar
- It's saved locally for your session
Click the 📤 Load JSON button to import your custom menu:
{
"restaurant": "Your Restaurant Name",
"tagline": "Your Tagline",
"address": "Your Address",
"menu": [
{
"name": "Item Name",
"category": "rolls",
"description": "Short description",
"ingredients": ["ingredient1", "ingredient2"],
"allergens": ["allergen1", "allergen2"],
"cooked_option": false,
"substitutions": [
{
"option": "no raw fish",
"price_change": 1.50
}
],
"price": "$12",
"tags": ["popular", "spicy"]
}
]
}Required Fields:
name- Item nameprice- Price (e.g., "$12" or "$9.99")category- One of: nigiri, sashimi, rolls, specialty_rolls, bowls, appetizers, soup, sides, sake, beer, drinksdescription- Short description (max 80 chars)
Optional Fields:
ingredients- Array of ingredientsallergens- Array of allergens (raw fish, shellfish, dairy, gluten, soy, egg, peanuts, sesame, tree nuts)cooked_option- true/false/ask to allow cooked alternativessubstitutions- Array of customizations with price adjustmentstags- Array of tags (popular, spicy, light, vegetarian, vegan, premium, cooked, etc.)
openclaw-hackathon/
├── index.html # Main HTML structure
├── styles.css # All styling (sushi theme)
├── config.js # Menu data, categories, quiz questions
├── api.js # Groq API integration
├── app.js # UI logic and functionality
├── menu.json # Sample menu (customize and import)
└── README.md # This file
Assist Tab:
- Click the miso soup button 🍲 or type a question
- Ask anything about the menu: "What's gluten-free?", "I want something spicy"
- AI provides responses based on your restaurant's menu
Check Answer Tab:
- Type a customer question
- Enter a server's answer
- AI evaluates if it's correct and provides feedback
Click Run Demo 🍣 to see a complete 6-step scenario:
- Load menu
- Handle allergy query
- Recommend popular items
- Suggest soup pairing
- Evaluate server answer (trainer mode)
- Handle customization request
Menu Items Tab:
- Search items by name or category
- Click Edit to modify an item
- Click Del to remove an item
- Click + Add Item to create new items
- View JSON preview with "Toggle JSON" button
Reviews Intel Tab:
- View aggregate review statistics
- See top strengths to maintain
- Get AI recommendations for improvements
-
Brand Your Theme: Edit the sushi emoji 🍣 in
index.htmlheader to match your restaurant -
Modify Categories: Edit
CAT_LABELSinconfig.jsto match your menu structure -
Update Quiz: Modify
QUIZ_QUESTIONSinconfig.jsfor your specific menu knowledge areas -
Change Colors: In
styles.css, update the:rootCSS variables:--accent: Primary brand color (currently red for sushi theme)--bg: Dark background--text: Light text
- Enter in chat input: Send message
- Enter in trainer answer box: Check answer
- 📤 Load JSON: Import custom menu
{
"restaurant": "🥐 La Maison",
"menu": [
{
"name": "Coq au Vin",
"category": "mains",
"description": "Chicken braised in red wine",
"ingredients": ["chicken", "red wine", "mushrooms"],
"allergens": ["gluten"],
"cooked_option": true,
"price": "$24",
"tags": ["popular", "classic"]
}
]
}{
"restaurant": "🥗 Green Leaf",
"menu": [
{
"name": "Buddha Bowl",
"category": "bowls",
"description": "Seasonal vegetables with tahini",
"ingredients": ["kale", "quinoa", "tahini"],
"allergens": ["sesame"],
"cooked_option": true,
"price": "$14",
"tags": ["vegan", "healthy", "popular"]
}
]
}"Invalid JSON" error:
- Use a JSON validator (jsonlint.com) to check your menu file
- Ensure all field names are lowercase with underscores
No responses from AI:
- Check your Groq API key is valid
- Verify internet connection
- Check browser console for errors
Menu won't import:
- Download
menu.jsonas a template - Ensure your JSON has
restaurant,tagline,address, andmenuarray - Use UTF-8 encoding
- Miso soup button 🍲: Quick sample question about pairings
- Toggle JSON: Switch menu view to JSON structure
- Color indicators:
- Red accent = open/available
- Green = correct answers
- Blue = popular items
- API key stored in browser localStorage only
- No menu data sent to external servers (except Groq API)
- All conversation history stored locally
- Clear browser data to reset all settings
For menu import issues, verify:
- JSON is valid
- All items have
name,price, andcategory - Categories match your CAT_LABELS
- File is UTF-8 encoded
Made with ❤️ for restaurant training teams