Gonzalo Martin PerezAI Engineer | Software Engineer | Product Engineer

Case study · Client project

Pequeverso: a store with an AI shopping assistant

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.

  • Next.js
  • React
  • TypeScript
  • Python
  • FastAPI
  • LangGraph
  • GraphRAG
  • PostgreSQL
  • pgvector
  • Neo4j
  • OpenAI API
  • Meta Pixel
  • Docker
  • Hostinger
  • 3

    public repositories

    Store, back office and assistant API, each with its own CI.

  • 288

    hand-written eval cases

    18 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 turns

    One evaluation run against an earlier version of the assistant, before launch.

  • USD 10

    monthly LLM spend cap

    Configurable 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.

Three applications for one small store

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.

The problem

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.

What I built

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.

Architecture

Three applications, from the buyer's browser to the private back office.

  1. StoreNext.js, React and TypeScript. Product pages, Hotmart checkout and a native assistant panel that stays off until launch.
  2. TrackingMeta Pixel in the browser, mirrored by a same-origin Conversions API relay with matching event ids.
  3. Assistant APIPython and FastAPI. Sessions with CSRF protection, answers streamed over SSE and a versioned HTTP contract.
  4. RetrievalA bounded LangGraph flow over lexical, pgvector and Neo4j retrieval, using a catalog exported from the store.
  5. GuardsServer-side checks for products, prices and links, plus budget reservations against the monthly cap.
  6. Back officeNext.js with OAuth sign-in and roles in PostgreSQL, reading operations data from the API on the server.

Engineering decisions

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.

A spend cap in the request path

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.

Evaluated before launch

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.

Operations stay private

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.

Explore the product

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.

Where it stands

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.

Evidence

The three repositories are public. The back office application itself is private, and its screenshots use synthetic data.