Back to work

02 / INDEPENDENT PRODUCT · INTERACTION CASE STUDY

Riya AI.

Help customers find products.
Keep commercial decisions human.

Explore the sample demo

CONTEXT & SCOPE

A focused WhatsApp sales assistant

I conceived Riya for jewellery businesses handling product inquiries over WhatsApp. Customers would discover available products by budget, material and category; staff would retain control of discounts, negotiation and sensitive requests.

The starting problem—repeated inquiries and inconsistent responses—was a product hypothesis. Customer demand and commercial value still need independent validation. Payments, CRM, voice and inventory integrations were outside the initial scope.

THE AUTHORITY BOUNDARY

A discount is always a human decision.

Riya cannot offer, promise or approve discounts or similar concessions. These requests must escalate regardless of confidence. Product responses must stay within the business’s available catalogue; missing or unsupported data should lead to human help.

INTENDED END-TO-END JOURNEY

  1. DiscoverCustomer asks for gold rings within an INR budget.
  2. MatchRetrieve available catalogue items meeting supported constraints.
  3. EscalateA discount request moves to staff without a concession.
  4. Take overStaff reply while AI stays paused until deliberately resumed.

This is the intended WhatsApp journey. The public demo below verifies the browser-local review portion; it does not send customer messages.

VERIFIED INTERACTION / BROWSER SAMPLE

From a paused request to a recorded reply

Four states captured from the working demo. Open an image for a closer look.

Sample discount request with human-review reason and disabled save and resolve actions
01 / RECOGNIZE

Understand why it paused

Request, reason and context appear together. No discount is approved; an empty reply cannot be saved or resolved.

Suggested starting point copied into the staff reply composer before saving
02 / PREPARE

A draft is not a response

“Use as draft” fills the composer. Saving becomes available; resolution still requires a recorded reply.

Recorded staff reply explicitly labelled saved in the browser and not delivered to a customer
03 / RECORD

Make the saved state explicit

The reply is labelled as recorded locally, not delivered. The resolve action becomes available.

Sample request marked resolved with the attention queue cleared
04 / CLOSE

Retain the workspace record

Resolution clears the queue. Refresh preserved the resolved status and saved reply in the sample conversation.

DESIGN REASONING

Boundaries before automation

Put the reason beside the request

Staff should see what needs attention and why before deciding how to respond.

Separate draft, save and delivery

Composing a message is not proof it reached a customer. The sample makes that distinction visible.

Keep ownership explicit

The backend pauses AI during human ownership and requires deliberate resumption, preventing competing replies.

Constrain product responses

Catalogue-rendered replies limit invented prices and promises, trading expressive freedom for control.

This explains the current design; it is retrospective analysis, rather than a claim that every decision was independently user-tested.

What works—and what is still unprovenImplementation evidence, tradeoffs and next validation
Browser demo · verified
Draft, saved reply, resolution and reload persistence checked on 3 October 2026. Sample data stays in this browser; WhatsApp and AI services are disconnected.
Backend · implemented and merged
Catalogue constraints, restricted-request escalation, human ownership and allowlisted sending are in the merged FastAPI repair. Sending is disabled by default. The repair passed 36 backend tests; this is not live WhatsApp delivery evidence.
Operational verification · pending
Deployed private frontend, real WhatsApp receipt, delivery tracking, independent staff alerts and recovery still need work or verification.
User and business validation · pending
No independent usability study, merchant adoption, sales uplift or achieved automation target is claimed.

What the walkthrough revealed

The sample allows resolution after a reply that only promises further review. Recording a response does not mean the customer’s request is settled. A follow-up should distinguish acknowledgment from completion and test those states with staff.

Next validation

Observe jewellery or customer-service staff reviewing a restricted request: do they understand the pause reason, what saving does, and when the request is truly resolved? Separately, verify the connected WhatsApp loop in isolated staging.

My contribution: sole human creator and product lead for the concept, research, scope, assistant rules and UX direction. ChatGPT, Codex and other software supported planning and implementation. This does not imply I personally wrote every line of code.

Open demoExplore proposed designs