Inspiration
We noticed that designing and updating restaurant menus is tedious and often consists of repeatable events. We wanted to create a tool that could handle the layout, design, and wording automatically using AI.
What it does
AI Menu Generator takes a restaurant name, theme, and dish list, then generates a complete menu with styled text, optional logo, audio narration, and a downloadable PDF.
How we built it
It’s built with Node.js, Express, and vanilla JavaScript on the frontend. Google Gemini handles text and logo generation, ElevenLabs generates narration, and Puppeteer converts the final layout to PDF.
Challenges we ran into
Making Puppeteer export valid PDFs, keeping Gemini’s SVG output clean, and aligning the layout consistently across browsers took the most time.
Accomplishments that we're proud of
The full AI pipeline from user input to generated text, image, audio, and PDF works end-to-end with minimal latency and clean results.
What we learned
We learned more about asynchronous file handling in Node.js, prompt engineering for structured outputs, and browser-compatible styling without UI libraries.
What's next for AI Menu Generator
Next, I want to add persistent menu storage, version history, and more control over color palettes and layout templates.
Built With
- and-puppeteer-for-pdf-export.-file-handling-with-multer
- and-vanilla-javascript-on-the-frontend.-uses-google-gemini-api-for-ai-text-and-logo-generation
- css
- elevenlabs-api-for-audio-narration
- environment-management-with-dotenv
- express.js
- gemini
- html
- node.js
- puppeteer
Log in or sign up for Devpost to join the conversation.