Una de las mejores formas que conozco de aprender una tecnología nueva es construir algo pequeño, pero real. No un “hello world”, sino un proyecto que me obligue a recorrer todo el flujo: idea → interfaz → backend → despliegue.
De ahí nace Infinite Lexicon: una web para aprender explorando palabras, construida con Next.js, desplegada en Cloudflare Workers/Pages y alimentada por IA (API de GPT).
Puedes probarla aquí: https://infinitelexicon.com
En este post cuento qué hace, cómo funciona por dentro y qué he aprendido desarrollándola.

¿Qué es Infinite Lexicon?
Infinite Lexicon es un pequeño experimento de aprendizaje por exploración:
- La aplicación te muestra una palabra inicial.
- Genera una definición mediante IA para esa palabra.
- Esa definición se guarda en un KV (Key-Value store).
- Cada palabra de esa definición se convierte en un enlace.
- Si haces clic, saltas a una nueva definición, y así sucesivamente.
El resultado es una especie de “viaje infinito” por conceptos relacionados, donde siempre tienes algo nuevo que descubrir con un solo clic.
El objetivo no es construir un diccionario perfecto, sino crear un entorno donde puedas perderte de forma curiosa entre conceptos, mientras yo practico con un stack moderno y APIs de IA.
Objetivo del proyecto
Aunque la idea de navegar entre palabras es divertida, mi objetivo principal con este proyecto era otro:
- Profundizar en el uso de APIs de IA (GPT).
- Trabajar con un stack serverless real: Cloudflare Workers/Pages + KV.
- Practicar una integración de extremo a extremo: frontend, backend y despliegue.
- Tener algo lo suficientemente simple como para mantener, pero suficientemente completo como para aprender.
No quería quedarme solo en ejemplos de documentación; quería tener una URL pública que pudiera romperse, mejorar y evolucionar.
Stack técnico
A nivel tecnológico, Infinite Lexicon se apoya en tres pilares:
Next.js
El frontend y parte de la lógica están desarrollados con Next.js:
- Rendering de páginas.
- Enrutado basado en rutas.
- Integración con la API para solicitar definiciones.
Next.js me permite trabajar con React pero con una estructura de proyecto bien definida, soporte para routing y buenas prácticas para una aplicación web moderna.
Cloudflare Workers / Pages
El proyecto está desplegado en Cloudflare Workers/Pages, lo que me aporta:
- Despliegue serverless: sin servidores que gestionar.
- Baja latencia gracias a la red global de Cloudflare.
- Integración directa con KV para almacenar datos.
Esto encaja muy bien con el tipo de proyecto: ligero, sin necesidad de una base de datos tradicional, pero con lectura/escritura rápida.
3KV (Key-Value store)
Cada definición generada por la IA se almacena en un KV:
- Clave: la palabra que se está definiendo.
- Valor: la definición generada.
Con esto consigo dos cosas:
- Evitar llamar a la API de GPT cada vez que alguien llega a la misma palabra.
- Reducir costes y latencia, aprovechando el KV como caché persistente.
El flujo es sencillo: si la palabra está en KV, se devuelve el valor; si no está, se llama a la API de GPT, se guarda en KV y se responde.
Cómo funciona por dentro
A alto nivel, el flujo es este:
- El usuario llega a una palabra concreta (por ejemplo, la palabra inicial que muestra la aplicación o una URL compartida).
- El servidor comprueba si esa palabra ya tiene definición guardada en KV.
- Si existe, se devuelve directamente.
- Si no existe, se llama a la API de GPT para generar una definición.
- La definición generada se guarda en KV.
- La definición se renderiza en la web y cada palabra se convierte en un enlace.
- Al hacer clic en una palabra, se repite el proceso con el nuevo término.
Es una lógica simple, pero suficiente para practicar:
- Manejo de peticiones asíncronas.
- Gestión de caché personalizada.
- Integración con un proveedor de IA.
- Despliegue en un entorno serverless real.
Retos y decisiones
Aunque el proyecto es pequeño, me ha obligado a pensar en varias cosas:
Balance entre simplicidad y control
He optado por un sistema muy simple de:
- “Una palabra → una definición”.
Se podría haber añadido buscador, idioma, contexto, nivel de profundidad, etc. Pero para esta primera versión preferí optimizar por simplicidad: empiezas desde una palabra inicial y, a partir de ahí, todo se basa en enlaces.
IA como servicio, no como producto mágico
Otro aprendizaje importante es tratar la IA como un servicio externo más:
- Hay que controlar errores de red y tiempos de respuesta.
- Debe existir una estrategia de caché.
- No conviene depender de una única llamada para cada request si puedes reutilizar resultados.
Ver la IA como “otra API más”, con sus límites y costes, ayuda a diseñar mejor el sistema.
Persistencia ligera
Usar KV en lugar de una base de datos tradicional simplifica mucho el despliegue y el mantenimiento.
Para un proyecto de este tipo, con un esquema muy simple (palabra → definición), tiene mucho sentido.
Qué he aprendido
Trabajar en Infinite Lexicon me ha servido para:
- Consolidar conocimientos de Next.js en un caso real.
- Ganar experiencia desplegando en Cloudflare Workers/Pages.
- Entender mejor el uso práctico de un KV store.
- Integrar y consumir una API de GPT de forma responsable y eficiente.
- Diseñar un flujo end-to-end que va desde la idea hasta el usuario final.
Más allá del resultado visible, el proyecto me ha dado una base sobre la que seguir construyendo cosas con IA y arquitecturas serverless.
Próximos pasos
Hay varias líneas interesantes para evolucionar Infinite Lexicon:
- Añadir configuración de idioma o estilo de definición.
- Permitir guardar rutas de exploración favoritas.
- Incluir métricas básicas: palabras más exploradas, profundidad media, etc.
- Ajustar el prompt de la IA para mejorar consistencia y tono.
Por ahora, seguirá siendo un laboratorio donde experimentar con ideas nuevas sobre aprendizaje y exploración usando IA.
Prueba Infinite Lexicon
Si te apetece curiosear, puedes probar el proyecto aquí:
Y si quieres comentar impresiones, ideas de mejora o simplemente charlar sobre este stack (Next.js, Cloudflare, KV, APIs de IA), estaré encantado de leer feedback.