# NudaUI Semantic Search (RAG), case study

> NudaUI Semantic Search (RAG) is a project by Santiago Gómez de la Torre. This case study covers the problem it solves, what his role was and what came of it.

Canonical URL: https://sgomez.dev/en/work/nudaui-semantic-search-rag

Updated on 2026-10-02

## The problem

NudaUI had 1,022 components and keyword search could not find what people described, so “a loader with dots” never led to “Pulse Dots”. It needed search by meaning.

## My role

I built the full RAG pipeline without RAG frameworks, with Voyage embeddings, hand-written cosine similarity, a FastAPI service deployed on Vercel and my own golden set of 45 queries across 15 categories, labelled by hand, to measure every change.

## Stack

- RAG
- Embeddings
- Python
- FastAPI
- Evals

## The outcome

Adding each component's CSS to its embedding raised hit@1 from 66.7% to 80%, hit@5 to 95.6% and recall@5 from 54.9% to 59.4%. The measurement also showed a drop in text effects, from 100% to 67%, which is documented. It is live on nudaui.dev.

## Links

- [Source](https://blog.sgomez.dev/rag-busqueda-semantica-nudaui)
- [Repository](https://github.com/sgomez-dev/nudaui-rag)

## More case studies

- [Claude Canvas](https://sgomez.dev/en/work/claude-canvas)
- [NudaUI](https://sgomez.dev/en/work/nudaui)

---

More machine-readable formats: [llms.txt](https://sgomez.dev/en/llms.txt), [agents.md](https://sgomez.dev/en/agents.md), [OpenAPI](https://sgomez.dev/openapi.json), [sitemap](https://sgomez.dev/sitemap.xml).
