New Apps & Products

MenuGen: A complete web application built entirely with AI

Claude + Cursor + MenuGenSource: Andrej Karpathy27/04/2025, 09:00
MenuGen is a web application that enables users to photograph restaurant menus and generate visual representations of each dish described. Its creator is a developer without formal web development experience who built this solution during a "vibe coding" hackathon—a methodology that uses artificial intelligence to automatically generate code. After completing an initial version at the event, they continued refining the application through to public release, adding user authentication, payment systems, and other essential features. The local prototype developed at remarkable speed. Using Cursor editor and Claude, the visual interface was generated within hours, featuring React components, responsive design, CSS animations, and polished layouts. This initial progress created an illusion of being 80% complete, when in reality the most challenging work was just beginning. Obstacles emerged quickly during external API integration. OpenAI was utilized for optical character recognition of menu content, while Replicate handled dish image generation. Both services implemented strict request rate limits that slowed development considerably. Claude frequently hallucinated about deprecated APIs and outdated input/output conventions, requiring repeated consultation of official documentation to resolve conflicts between AI suggestions and actual specifications. The deployment process presented additional complexities. While configuring Vercel, the developer encountered build errors absent from the local environment, eventually discovering that environment keys required manual insertion into Vercel settings. Implementing authentication through Clerk demanded labor-intensive configuration, including purchasing a custom domain, integrating Google OAuth, and navigating nested settings across multiple services. Stripe integration for payments introduced further complications. Claude proposed a fundamentally flawed approach for crediting users after successful payments: matching by email address rather than unique user identifiers. This potentially catastrophic oversight was only prevented because the developer caught and manually corrected the logic. The entire process proved exhausting, with most time spent not writing code but navigating service dashboards, configuring integrations, and debugging platform-specific issues.
MenuGen: A complete web application built entirely with AI — lupAI