Inspiration

Firdouse runs a small independent henna business — real bridal and festival work, sold online. Most customer questions follow the same pattern: "which product is right for my occasion/skin/budget?" and after the sale, "how do I actually apply this for a good, dark stain?" As a one-person shop she can't staff a 24/7 sales assistant, so buyers either guess wrong, abandon their cart, or message on Instagram and wait hours. We wanted AI to close that gap honestly — recommending only real products, never inventing ones — instead of bolting on a generic chatbot as a gimmick.

## What it does A real, working henna storefront (live Razorpay payments) built around two AI touchpoints: an AI Henna Consultant chat widget grounded in the shop's real product catalog (only recommends real products/sizes/prices, asks a clarifying question when needed, stays in-bounds on medical questions), and an AI Post-Purchase Care Plan that writes a personalized aftercare plan naming the exact products just bought, with a safe static fallback if the AI call fails so it never blocks a real payment. A third feature, the Henna Design Gallery, deliberately shows real portfolio photos instead of AI-generated images, so what customers see matches work Firdouse can actually deliver.

## How we built it Static HTML/CSS/JS on Cloudflare Pages, with Cloudflare Pages Functions as the backend. A single JSON product catalog is the source of truth for both the storefront and the AI's context, so the two can never drift apart. The consultant and care-plan endpoints call Groq's OpenAI-compatible API (openai/gpt-oss-120b and openai/gpt-oss-20b). Payments run through Razorpay with order creation and signature verification happening server-side, so prices are never trusted from the browser.

## Challenges we ran into Keeping the AI honest was hardest — an ungrounded LLM will happily invent a plausible product/size/price. We solved this by feeding the full real catalog into the system prompt and cross-checking the model's structured recommendation against that catalog before ever showing it, so a hallucinated item just gets dropped. We also made sure AI failure never breaks a real transaction — the care-plan endpoint always falls back to a static tip if Groq errors, since the customer has already paid by that point. On payments, we hit a real Razorpay authentication failure and traced it to a placeholder API key that had never been swapped for a real one — a good reminder to verify third-party credentials end-to-end.

## Accomplishments that we're proud of A genuinely working AI + e-commerce loop end to end — real cart, real Razorpay payment, real AI recommendation grounded in real inventory, and a real personalized care plan from what was actually purchased. Also proud of a non-AI choice: showing real portfolio photos instead of AI-generated "inspiration" images, because honesty about what the artist can deliver matters more than a flashy generated image.

## What we learned Grounding beats prompting alone — giving the model real data and validating its output against that data afterward works far better than just instructing it "don't make things up." AI calls should be an enhancement layer that degrades gracefully, never a dependency a core business flow (payment) can fail on.

## What's next for Firdouse Heena — AI Henna Consultant Multi-language support (Hindi/Hinglish) for the consultant, WhatsApp integration so the assistant works where customers already are, and lightweight analytics on what shoppers ask so Firdouse can spot demand for products she doesn't carry yet.

Built With

Share this project:

Updates

Submission history