Skip to content

Demo shop: products, prices and orders are made up and no payment is real. How it is built · Try the clinic demo →

Crema e FerroIT0

How this demo works

Crema & Ferro is a made-up shop built around a shopping assistant. This page explains which alternatives were considered in September 2026 and how the chosen one is built.

The alternatives considered

SaaS e-commerce assistants
Intercom Fin, Gorgias, Tidio Lyro, Zendesk AI
Ready in a few hours, with ticketing and hand-over to a human. You pay per conversation, the widget cannot be customised and they cannot show product cards or change the cart.
Platform assistants
Shopify Sidekick and agentic storefronts
Great if the shop already runs on Shopify, but they tie you to the platform. Sidekick helps the merchant, not the customer.
Shopping inside chatbots
Agentic Commerce Protocol (OpenAI), Universal Commerce Protocol (Google)
They help you be found inside ChatGPT or Gemini, not assist people who are already on your site. They are the next step, not the alternative.
Single-vendor kits
OpenAI ChatKit and Agent Builder
Nice interfaces, but tied to one vendor's models; Agent Builder shuts down in November 2026.
Custom build (chosen)
Next.js 16, Vercel AI SDK 7, AI Elements, PostgreSQL with pgvector
Full control: the model uses typed tools on the real catalogue, the interface shows products, comparisons and orders, and the model vendor is a configuration change.

What happens when you write to the Barista

  1. 1The message leaves the panel (React, useChat) for /api/chat, together with the page you are looking at.
  2. 2The server checks size and rate limits, then calls the model with the shop's instructions and six tools.
  3. 3The model decides which tools to use; each call reads or changes the PostgreSQL database.
  4. 4Text and results stream back: results become product cards, comparison tables and order status.
  5. 5Sensitive actions, such as opening a support request, wait for your confirmation.

The Barista's tools

searchProducts
Hybrid catalogue search: Italian full text plus semantic similarity, with category and price filters.
getProduct / compareProducts
Spec sheet and side-by-side comparison, read from the database.
addToCart / getCart
They change the visitor's real cart, the same one shown in the header.
trackOrder
Order status, only if the number and the email match.
searchHelp
Retrieves the relevant help-centre sections (RAG) and the Barista cites the source.
createSupportTicket
Opens a request for a human only after the customer confirms, with a server-signed approval.

Models and costs

Answers come from free models on OpenRouter: first nvidia/nemotron-3-ultra-550b-a55b:free, and when it is busy a backup model and then the free router openrouter/free. Below each answer you can see which one replied. The cost is zero; in exchange quality and speed vary and there is a daily message limit. With a paid key you only change two environment variables.

Semantic search uses a multilingual embedding model that runs on the server itself (multilingual-e5-small), so it costs nothing per request. Catalogue, orders and help centre live in PostgreSQL with the pgvector extension.

The shop's data is written in Italian. The English pages show translated text, and the Barista answers in the language you write in, translating what the tools return.

Security and privacy

  • The model keys stay on the server; the browser only talks to this site.
  • Per-visitor and daily limits, maximum length of messages and of the model's turns.
  • The model does not choose prices or data: it reads them from the tools, and orders require the right email.
  • Conversations are saved with an anonymous identifier of the IP (a hash) to improve the demo. Providers of free models may log messages: do not write real personal data.