Prices and links come from the catalog
The catalog is exported from the store at a pinned commit. The API checks every product, price and link before showing it, and withholds a price that has expired instead of guessing.
Case study · Client project
A Next.js store for printable learning resources, a private back office and an AI shopping assistant that answers buyers from the store's own catalog.
3
public repositoriesStore, back office and assistant API, each with its own CI.
288
hand-written eval cases18 intent families run through the full HTTP/SSE path in CI with a fixture model; they test the pipeline and guards, not model quality.
303
real-model turnsOne evaluation run against an earlier version of the assistant, before launch.
USD 10
monthly LLM spend capConfigurable default, reserved atomically before every model call.
Independent client work. I built the store, the back office and the assistant API; the client owns the brand, the products and the decision to launch the assistant.
Pequeverso sells printable learning resources for families with children aged 3 to 7. I built its public store, a private back office and an AI shopping assistant that answers buyers' questions about the catalog.
Hotmart handles payment, delivery and refunds, so the store can focus on explaining the products clearly and sending buyers to checkout.
Buyers have questions before they pay: what the kit includes, which ages it suits, how the guarantee works. A generic chatbot can invent a price, a discount or a link, and in a store a wrong answer is worse than none.
The store also had to report purchases and checkout intent to Meta for advertising, and the assistant had to stay inside a small, fixed monthly budget.
The store: Next.js with Hotmart checkout, Meta Pixel in the browser and a server-side Conversions API relay, plus an automated check after every release that confirms production serves the merged commit.
The back office: a private app with OAuth sign-in, invite-only roles and an operations dashboard for the assistant's health, catalog freshness, runs, latency, tokens and spend.
The assistant: GraphRAG on LangGraph that combines lexical, pgvector and Neo4j retrieval over the store catalog. The server validates every product, price and link before it reaches the buyer, and a monthly spend cap is enforced before each model call.
Three applications, from the buyer's browser to the private back office.
The catalog is exported from the store at a pinned commit. The API checks every product, price and link before showing it, and withholds a price that has expired instead of guessing.
Before each model call the API reserves the worst-case cost against the monthly budget, so concurrent requests cannot overspend it. The default cap is USD 10 a month.
288 hand-written cases in 18 intent families run through the full HTTP/SSE path in CI. An earlier version was also evaluated in a 303-turn run against the real model.
The back office is a separate app. Only the owner and invited people can sign in, and it reads content-free operations data from the API on the server, never from the browser.
Real captures from the public repositories: the store, the assistant running locally with a test model, and the back office with synthetic data. Enlarge a screen for a closer look.
16 / 16
















The store is live at pequeverso.com, and each release to production is verified automatically after deployment.
The assistant is implemented and evaluated, but it has not launched yet. It stays disabled in the published store until its server is deployed and the launch is approved.
The three repositories are public. The back office application itself is private, and its screenshots use synthetic data.