Inspiration
Independent restaurants receive valuable customer feedback every day, but owners rarely have time to read every review, distinguish recurring problems from isolated comments, write careful replies, and verify whether an operational change actually helped.
Many review tools jump directly from customer text to generic AI-generated content. I wanted Lyoria to begin with evidence, make uncertainty visible, and keep the business owner in control.
Lyoria previously existed as a broader communication concept for local businesses. During this hackathon, I rebuilt it into a focused ReviewOps application powered by NVIDIA Nemotron through Nebius Token Factory.
What it does
Lyoria imports between 1 and 15 dated restaurant reviews from CSV or pasted text. The owner can also provide verified business facts and select the preferred reply tone.
NVIDIA Nemotron 3 Super then helps Lyoria:
- identify recurring strengths and operational issues;
- connect every finding to exact customer quotations;
- prepare one grounded reply for every review;
- identify information that the owner must verify;
- suggest practical actions for recurring issues.
Deterministic application code calculates an explainable priority score using frequency, severity, and recency. An issue can then become a measurable action. When a later review period is imported, Lyoria compares the frequency of the same theme across both periods while displaying sample sizes, matching confidence, and a warning that correlation does not prove causation.
Every reply remains editable and requires human approval. Lyoria never publishes anything automatically.
How I built it
Lyoria is built with Next.js, React, TypeScript, and Node.js.
The application uses nvidia/nemotron-3-super-120b-a12b through the Nebius Token Factory chat-completions API. I selected this mixture-of-experts model because it provides a strong balance between multilingual language quality, instruction-following, structured output, latency, and cost.
The model receives reviews and verified business context as untrusted JSON. A strict system prompt requires exact source quotations, one reply per review, cautious treatment of customer claims, and verification questions whenever important business information is missing.
The application requests JSON output at temperature zero and then validates it before saving anything. It rejects malformed or truncated responses, invented quotations, unsupported business facts, duplicate evidence, and missing replies.
Supabase provides passwordless authentication, PostgreSQL persistence, transactional database functions, and row-level security. Resend delivers authentication emails, and Vercel hosts the application.
Challenges
The hardest challenge was grounding. A model response can sound convincing while inventing a restaurant fact, omitting a review, or turning one customer complaint into a universal claim.
I addressed this by requiring exact continuous quotations from the original reviews and exact quotations from the verified business profile whenever a reply uses a business fact. Missing information produces a question for the owner instead of an invented answer. Invalid output fails closed and is not saved.
Impact measurement created another challenge. A reduction in complaints after an operational action is useful evidence, but it does not prove that the action caused the improvement. Lyoria therefore reports the observed change, both sample sizes, and an explicit causality limitation.
Accomplishments
- A complete public demonstration that works without an account or paid inference.
- CSV and pasted-text review imports in a private workspace.
- Evidence-linked findings with deterministic priority scores.
- One validated and editable reply for every imported review.
- Human verification and approval before a reply can be copied.
- Measurable actions and before/after review-period comparisons.
- Supabase row-level security with tested cross-account isolation.
- Six recorded fictional model scenarios covering prompt injection, allergens, contradictory reviews, hostile language, and the maximum 15-review batch.
- A production application deployed at lyoria.ch.
What I learned
Reliable AI products need deterministic systems around probabilistic models. Prompt engineering improved the results, but the most valuable safeguards came from validating every source, rejecting incomplete output, saving results atomically, testing adversarial inputs, and keeping a human in the final decision loop.
Nebius Token Factory made NVIDIA Nemotron available through a familiar API without requiring me to provision GPUs or operate model-serving infrastructure. This allowed me to focus on the product workflow, evaluation, and safeguards.
What's next
The next step would be an authorized Google Business Profile integration that imports reviews directly for verified business owners. I would also expand the multilingual evaluation suite, improve usage monitoring, and add clearer provider-level budget controls before opening live inference to more users.
Built With
- nebius
- nemotron
- next.js
- node.js
- nvidia
- postgresql
- react
- resend
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.