A live product that finds your next game through conversation: you describe what you feel like playing, and the AI recommends games from a real catalog and explains why. It began as my postgraduate research on game discovery (graded 10/10), but a thesis is a hypothesis. I wanted proof it could stand on its own, so I designed, built, and shipped it as a product. It's live today, made by me. Um produto no ar que encontra seu próximo jogo por conversa: você descreve o que quer jogar, e a IA recomenda jogos de um catálogo real e explica o porquê. Começou como minha pesquisa de pós sobre descoberta de jogos (nota 10), mas tese é hipótese. Eu queria a prova de que se sustentava sozinho, então desenhei, construí e lancei como produto. Está no ar hoje, feito por mim.
Tell me what you're looking for. I'll find a game for you! Me diz o que você procura. Eu encontro um jogo pra você!
The research earned top marks, but a graded thesis is still a bet no one has taken. It was framed inside Steam, a platform I don't own, so it could only ever stay a proposal. The interesting question was never whether Valve would build this. It was whether I could.
A pesquisa levou nota máxima, mas uma tese avaliada ainda é uma aposta que ninguém topou. Estava enquadrada dentro da Steam, uma plataforma que não é minha, então só poderia continuar sendo proposta. A pergunta interessante nunca foi se a Valve construiria isso. Era se eu conseguiria.
So I rebuilt it as my own product: no borrowed brand, my own name, my own scope. The core survived the trip intact: you describe what you feel like playing, the AI searches a real catalog, and every pick explains itself. Everything else was a decision I now had to own.
Então reconstruí como produto meu: sem marca emprestada, com nome próprio e escopo próprio. O núcleo sobreviveu à viagem intacto: você descreve o que quer jogar, a IA busca num catálogo real, e cada escolha se explica. Todo o resto virou decisão que agora era minha.
Honest status: v1 is live, public, and already instrumented, the funnel and the north-star metric are wired up (more on that below). What I don't have yet is usage data at scale: the soft launch is the next step, so there are no vanity numbers here, and I won't invent any. The scoreboard is built; the crowd hasn't shown up yet.
Status honesto: a v1 está no ar, pública e já instrumentada, o funil e a métrica norte estão ligados (mais sobre isso abaixo). O que ainda não tenho é dado de uso em escala: o soft launch é o próximo passo, então não tem número de vaidade aqui, e não vou inventar nenhum. O placar está montado; a torcida ainda não chegou.
You describe intent in plain words, and the product translates it into search the catalog understands, then hands back recommendations that explain themselves. Four moves, one loop: ask, get reasoned results, refine, repeat. Você descreve a intenção com palavras comuns, e o produto traduz isso em busca que o catálogo entende, devolvendo recomendações que se explicam. Quatro movimentos, um ciclo: pedir, receber resultados com raciocínio, refinar, repetir.
The moment real people can open the URL, a dozen questions a demo never asks arrive at once: what happens when the AI is down, what counts as "the catalog," how do you keep it fast, how do you stay responsible with data. Every answer below started as a design call, with a real trade-off behind it. No momento em que pessoas reais podem abrir a URL, uma dúzia de perguntas que uma demo nunca faz chegam de uma vez: o que acontece quando a IA cai, o que conta como "o catálogo", como manter tudo rápido, como ser responsável com dado. Cada resposta abaixo começou como uma decisão de design, com um trade-off real por trás.
The first version matched keywords literally. Ask for "something to relax with after work" and it only found games tagged "relaxing," missing the cozy sim that never used the word. So I moved the catalog to vector search (Supabase with pgvector): every game and every question becomes a vector, and the product retrieves by meaning rather than exact tags.
A primeira versão casava palavras-chave ao pé da letra. Peça "algo pra relaxar depois do trabalho" e ela só achava jogos com a tag "relaxante", perdendo o sim cozy que nunca usou a palavra. Então movi o catálogo pra busca vetorial (Supabase com pgvector): cada jogo e cada pergunta viram um vetor, e o produto busca por significado em vez de casar tags exatas.
The bonus mattered most to me as a designer: searching by intent instead of by review count quietly fights popularity bias, so the same five blockbusters stop eating every result. I treated cost as a design constraint from the start: embedding all 10,390 games once ran about US$0.12, on a prepaid cap that can't overspend.
O bônus foi o que mais me importou como designer: buscar por intenção, em vez de por número de reviews, combate de forma silenciosa o viés de popularidade, então os mesmos cinco blockbusters param de comer todo resultado. Tratei o custo como restrição de design desde o começo: gerar os embeddings dos 10.390 jogos uma vez saiu por cerca de US$0,12, num teto pré-pago que não estoura.
Analytics went in before launch, because a metric you wire up later can only measure the future. The funnel is instrumented end to end in PostHog, and one event is the north star: a click through to Steam. That is the moment the product did its whole job, it turned "I don't know what to play" into "I'm going to go play this."
O analytics entrou antes do lançamento, porque métrica que você liga depois só mede o futuro. O funil está instrumentado de ponta a ponta no PostHog, e um evento é a métrica norte: o clique que leva pra Steam. É o momento em que o produto fez todo o trabalho dele, transformou "não sei o que jogar" em "vou jogar isso".
Everything else is diagnostic: where activation drops, how deep a conversation goes, when the model returns nothing. The scoreboard is ready; the soft launch is what fills it.
Todo o resto é diagnóstico: onde a ativação cai, quão fundo vai uma conversa, quando o modelo não devolve nada. O placar está pronto; o soft launch é o que vai preencher ele.
North-star metric: a click through to Steam. Above time on site or message count, it's the one act that proves a player left with a game to play.
Métrica norte: um clique que leva pra Steam. Acima de tempo no site ou número de mensagens, é o único ato que prova que o jogador saiu com um jogo pra jogar.
A conversational product doesn't live on the happy path. Most of the design work in v1 went into the moments around the answer: how the first message gets easier, how a recommendation earns trust, and what happens when the model misses or has to say no. All four states below shipped in production.
Um produto conversacional não vive só no caminho feliz. A maior parte do trabalho de design da v1 foi nos momentos ao redor da resposta: como a primeira mensagem fica mais fácil, como uma recomendação conquista confiança, e o que acontece quando o modelo erra ou precisa dizer não. Os quatro estados abaixo estão em produção.
None of this came from a hunch. Before a line of code, I spent months studying why game discovery breaks. PC gaming's main catalog passed 220,000 titles, and that abundance breeds indecision: a textbook paradox of choice. Search built on tags and popularity ignores intent and context, so players can't say what they want and the store can't listen.
Nada disso veio de palpite. Antes de uma linha de código, passei meses estudando por que a descoberta de jogos quebra. O principal catálogo de jogos de PC passou de 220 mil títulos, e essa abundância gera indecisão: um paradoxo da escolha de manual. A busca feita de tags e popularidade ignora intenção e contexto, então o jogador não diz o que quer e a loja não escuta.
That study became my thesis, graded 10/10. What follows is the evidence I built the product on: real browsing sessions, three player journeys, and the failures that pointed straight at a conversational answer.
Esse estudo virou minha tese, nota 10/10. O que vem a seguir é a evidência sobre a qual construí o produto: sessões reais de navegação, três jornadas de jogador e as falhas que apontaram direto para uma resposta conversacional.
Central question: How can conversational artificial intelligence enhance the game discovery experience in digital marketplaces like Steam?
Pergunta central: Como a inteligência artificial conversacional pode aprimorar a experiência de descoberta de jogos em marketplaces digitais como a Steam?
Around 30 anonymous browsing sessions (no login, no history, to avoid a personalized feed) turned into three personas, each grounded in a real behavior and a real breakdown. Together they made the case a conversation could fix. Cerca de 30 sessões de navegação anônimas (sem login, sem histórico, pra evitar um feed personalizado) viraram três personas, cada uma ancorada em um comportamento real e uma quebra real. Juntas, mostraram o que uma conversa poderia resolver.
For the player, good discovery means less cognitive effort, less time lost scrolling, and a sense of control that builds trust. For any marketplace drowning in its own inventory, that same experience is a revenue lever: people who find what they want convert more and come back more, because the search stops being a chore.
Para o jogador, boa descoberta significa menos esforço cognitivo, menos tempo perdido rolando a loja e uma sensação de controle que constrói confiança. Para qualquer marketplace afogado no próprio estoque, essa mesma experiência é alavanca de receita: quem encontra o que quer converte mais e volta mais, porque a busca deixa de ser um fardo.
I built it for games, but nothing about the approach is game-specific. The same conversational, explainable layer fits streaming, e-commerce, or any catalog where curation is the differentiator.
Construí para jogos, mas nada na abordagem é específico de jogos. A mesma camada conversacional e explicável serve pra streaming, e-commerce ou qualquer catálogo onde a curadoria é o diferencial.
A recommendation you can't question is just an order. The whole product exists to turn "here, play this" into "here's why I think you'll like this," and let you argue back.
Uma recomendação que você não pode questionar é só uma ordem. O produto inteiro existe pra transformar "toma, joga isso" em "olha por que eu acho que você vai curtir", e te deixar rebater.
Igor Dalmolin, on why WhichGameToBuy explains itself Igor Dalmolin, sobre por que o WhichGameToBuy se explicaIf you'd like to talk about a collaboration or discuss this project, get in touch. Se você quiser falar sobre uma colaboração ou discutir este projeto, entre em contato.