← All work

FiftyFlowers · Storefront

AI Floral Assistant

Flower requests, answered from the catalog.

A storefront chat panel: shoppers describe what they need and get matching catalog products with prices. The AI only reads the request; code runs the search.

PROJECTAI Floral Assistant
MY ROLEAI Solutions Engineer · FiftyFlowers
STAGEIn the store theme · behind an A/B test since January 2026
Three views of the assistant panel: the welcome view, waiting dots after a request, and an answer with product cards and filter chips

The assistant’s panel: open, ask, answered. Local run of the store theme’s code with an invented catalog; the reading of the request was typed in by hand, and the search, the reply and the chips are the real code.

The context

A problem worth solving.

Shoppers know the event, the colors and the budget, not the product names. The goal was a way to describe a need in plain words and get catalog products back, with no chance of an invented product or price.

My contribution

What I brought to the work.

Built the 2025 prototype, then the storefront assistant: the chat panel in the store theme, the conversation and catalog-search functions on AWS, and the prompt that turns a shopper’s words into the store’s own filters.

The product

What it makes possible.

Every state of the panel follows as side-by-side views, then the 2025 prototype.

01

Ask in plain words

A shopper types what they need. One small AI call reads it as the store’s own filters: colors, flower types, occasion, budget, effort level, season, product type and what to leave out.

02

Only what the catalog holds

Code searches the catalog with those filters and returns up to six products with catalog prices. The AI never sees products or writes the reply, so it cannot invent either.

03

Refine without starting over

The request appears as removable chips. Removing one, clearing them all or asking for new recommendations re-runs the search with no AI call.

04

Never an empty answer

When nothing matches, the search loosens one condition at a time, such as a higher budget or any of the colors instead of all, and tells the shopper what it changed.

05

Conversations that come back

A shopper can keep up to ten conversations: on any device when signed in, in the same browser as a guest. Each card opens the store’s product page to choose options and buy.

At a glance / simplified product view

  1. 01Shopper’s request
  2. 02Filters and catalog search
  3. 03Products and chips

The storefront assistant · in the store theme since January 2026

Ask in plain words, get products the store really sells.

In the store theme · behind an A/B test since January 2026

A shopper opens the panel, says what they need, and gets products from the store’s own catalog, with what the assistant understood shown as chips they can take off again. These pictures are the store theme’s own code and the assistant’s own search code running on my machine against an invented catalog. The AI step was not called: where a conversation starts from a typed request, the reading of that request was typed in by hand, and everything after it is the real code.

Three views of the assistant panel: the welcome view, waiting dots after a request, and an answer with product cards and filter chips
Open, ask, answeredThe panel opens on four example requests. A request is sent, and the answer comes back as a sentence, product cards and chips for what was understood. In this local run the reading of the request was typed in by hand; the search, the reply and the cards are the real code. Local run, invented catalog.
A test page of flower products with a pink AI Floral Assistant button at the bottom right
The button on the pageClosed, the assistant is one button above the support chat button. Shown on a plain test page with invented products, not the store. Local run, invented catalog.
The assistant panel showing six product cards and five filter chips
The whole answerSix products with type, name, picture, price and options, then a row offering a fresh set, and the chips. The reading of this request was typed in by hand. Local run, invented catalog.
Three views: results after one chip is removed, results with no filters, and the row that offers new recommendations
Refine without starting overTaking a chip off searches again at once, clearing them all widens to the whole catalog, and the refresh button draws a different set. None of these steps calls the AI. Local run, invented catalog.
Three views: two answers that say the budget was raised to find options, and one reply with a suggestion and no products
Never an empty answerWhen nothing fits, the search is loosened and the reply says what changed. When loosening finds nothing either, it says so and suggests what to change. In the first and third the reading of the request was typed in by hand. Local run, invented catalog.
Three views: saved conversation tabs, a conversation with exclusion chips, and a renamed tab
Conversations that come backEarlier conversations return as tabs, what was left out shows as struck-through chips, and a tab can be renamed. These conversations were loaded from an invented saved record. Local run, invented catalog.
Four phone-width views of the assistant panel
On a phoneThe panel takes most of the screen, the cards narrow to two columns and then to one, and the chips wrap. Local run, invented catalog.
Three views: an error bubble with the message restored, an apology when the catalog cannot be searched, and a card with a placeholder drawing
When something goes wrongA failed message is put back in the box to send again, a catalog that cannot be reached is said plainly, and a product without a picture gets a drawing in its place. Local run, invented catalog.

The prototype · August to November 2025

A demo page that proved the filters first.

Prototype · ran on a developer’s machine, never shown to shoppers

Before the storefront panel there was a chat page that read a request into filters, remembered them in a side panel and answered with numbered products. Its filter vocabulary carried into the storefront assistant. These pictures are the prototype’s own page running locally with an invented catalog, and the readings were typed in by hand.

A pink chat page with suggested questions and an empty Active Filters panel
Where it startedThe demo page as it opens: four suggested questions and an empty panel for the filters it will remember. Local run, invented catalog.
The prototype page listing recommended products beside two active filters
An answerNumbered products with price, colors, effort level, type, availability and occasions, and the filters it read on the right. The reading of the request was typed in by hand. Local run, invented catalog.
The prototype page with three active filters: budget, colors and occasions
Filters that are rememberedA second message adds a budget to the colour and occasion already held; each can be removed. Local run, invented catalog.
The prototype page after the budget filter was removed
A filter removedRemoving the budget brings a new set for what remains. Local run, invented catalog.

Engineering choices

The decisions behind the interface.

01

Let the model translate, let code search.

The model only turns words into filters. The search and the reply sentence are code, so every answer can be explained from its filters.

02

Ask for the complete new state.

Each call sends the current filters and asks for the full updated set, so follow-ups like “also pink” or “make it red instead” need no merge logic.

The prototype’s 42 test requests ran against the catalog before the move to AWS. No usage or cost figures are claimed; none have been measured yet.

Where it stands

In the store theme, behind a test.

In the store theme since January 2026, hidden unless the company’s A/B test shows it. Next: record who the test shows it to, check card prices against product pages, and measure usage and cost.

Same company

More from FiftyFlowers.

FiftyFlowers overview
Keep exploringAI Travel Companion