A flat green island of grass and trees floating on a sea of cloud, a lone hiker walking across it.

Spinio · Conversational recommendations · About 4 months

Conversational recommendations across 20,000 items

Conversational recommendations for Spinio. A person describes what they want in plain language, and a text-to-SQL engine turns the request into a query over the whole catalog and returns the few items that match.

20,000

items in the catalog

The size of the catalog the text-to-SQL engine queries, not usage or active users.

1,000

providers behind them

The size of the catalog the text-to-SQL engine queries, not usage or active users.

The starting point

Spinio saw an opportunity to help consumers find their way through a catalog of around 20,000 items from 1,000 providers. It wanted a product that understood what a person was after, applied their preferences and the catalog’s data, and made the result easier to explore than a conventional filter interface.

The challenge

“Something like this, but…”

The catalog holds 20,000 items from 1,000 providers. The goal was recommendations from a conversation: a person says what they want in plain language and gets back the few items that match. A generic model can suggest something plausible. Useful recommendations had to come from the catalog that actually exists and from what the product knows about each person.

Catalog

Thousands of items and providers to search and compare, without leaning on the model’s memory.

Preferences

Each person’s preferences and the items’ tags had to decide which results appear, and why.

Knowledge

Knowledge-base answers and live-service information had to stay tied to the product’s real sources.

My role

I ran this end to end, from the first call through discovery, scope, solution design and leading the build with the Adamant Code team, to launch.

  1. First call
  2. Discovery
  3. Scope & proposal
  4. Solution design
  5. Build lead
  6. Launch
  7. Iteration

Illustration only, no real screens. The numbers are the size of the catalog, not usage or active users.

What I built

A conversation in front of the catalog.

With the Adamant Code team, I designed the recommendation approach, trained the text-to-SQL engine, built the web and mobile apps, and connected the knowledge and live-service layers. The aim was a complete product, not an isolated AI service.

  1. The product works out what the person is looking for and the context that should shape the result.
  2. The text-to-SQL engine turns the request into a structured query against the catalog.
  3. The person’s preferences and the items’ tags rank the options for relevance.
  4. The recommendation comes back inside the product, with the detail needed to keep exploring.

The product beyond the AI

More than a ranked list.

Web and mobile

The same discovery flow on both, with the result cards and detail tabs laid out for a smaller screen on mobile.

Result cards

Expandable cards sort provider information into clear categories, so people can inspect a result without leaving the conversation.

Conversation history

A sidebar groups earlier chats by time, so people can pick a question back up instead of starting over.

Knowledge and live services

A knowledge base answers questions a ranked list can’t, and live-service connectors bring in outside information where a recommendation needs it.

The outcome

Delivered on web and mobile.

The recommendation platform was delivered on web and mobile, over a catalog of about 20,000 items from 1,000 providers. Those numbers are the size of the catalog the build covers, not usage or active users.

At dusk, a vast slab of forested land hangs over a sea of cloud that combs beneath it like a wave. A lone hiker stands on a dark ridge, watching.

Open to roles

Put me on the hard problem.

I'm looking for an AI engineering or AI solutions role on one product with a strong team. I can start now and work fully remote from Rijeka, Croatia, with US overlap until 14:00 Eastern.

Have a problem rather than a role? I still take on some build and advisory work. Email me what's stuck.