Inspiration:

I believe that business consulting is an important but yet limited service. However, in reality, many independent restaurant owners know there is something wrong with their business, but many of them just cannot afford analysts from these big consulting firms to help them out. That is why I created Operon, an AI business consultant designed for restaurant owners, that can turn business data into actionable, profit-driving advises, affordably, and professionally.

What it does

It can get allow restaurant owners to upload their business data, such as: Location, Cost and Revenue, Menu Item and Pricing, Customer feedbacks...

Then Operon will deeply analyze these data and give user insights through these features:

  • Business health scoring and diagnosis
  • Menu and pricing optimization recommendations
  • Competitor and supply chain analysis
  • Customer feedback and sentiment analysis
  • An AI chat assistant for follow-up questions and strategy guidance

How I built it

I built Operon using Next.js and React as the frontend framework, styled with Tailwind CSS and shadcn/ui components for a clean, professional dashboard experience. The backend runs on Next.js API routes, with Supabase handling user authentication, data storage, and row-level security to keep each restaurant's data completely isolated.

For the AI engine, I integrated Google's Gemini API to power every core feature — from business health scoring to menu optimization to the conversational chat assistant. Each feature calls Gemini with a tailored system prompt and parameter configuration to match its purpose. I used PapaParse to process CSV uploads (cost sheets, revenue logs), and Recharts to visualize KPIs and trends in an interactive dashboard.

The entire app is deployed on Vercel with server-side rendering for fast load times. The architecture is designed so that restaurant owners can go from uploading their first file to receiving actionable insights in under 15 minutes — no integrations, no onboarding calls, just upload and go.

Challenges I ran into

One of the biggest challenge is configuring different API calling setting for different features. I initially met the problem that: With the same input data, Operon would sometimes output different costs recommendations and business health scores. I asked Gemini for help, and found out it was because of I accidentally gave all features the same level of flexibility in output. I fixed this problem later by tuning a different set of parameters for API calling for different features, such as I engineered Operon's chat box to be creative and conversational, but for the business diagnose feature, I made it precise and deterministic.

Share this project:

Updates