Todos los casos

Sistema privado de conocimiento

Dharma Sky

Convertir más de 1.000 archivos en un sistema de conocimiento buscable con IA.

Quería reunir textos budistas a los que volvía una y otra vez — los relatos de las vidas anteriores del Buda, sutras de archivos de dominio público y otro material disperso en la web o guardado en PDF. Diseñé y construí Dharma Sky: una biblioteca privada donde esos archivos se pueden explorar, buscar y consultar mediante una interfaz de IA fundamentada en el material original.

Rol: Product Designer · Constructor de productos de IA

  • Diseño de producto con IA
  • Desarrollo asistido por IA
  • Recuperación de conocimiento
  • Construcción de producto

El desafio

Conocimiento atrapado en muchos archivos

El material ya existía libremente online o en archivos — en formatos y páginas distintas. Encontrar un artículo o tema concreto, comparar pasajes relacionados o responder una pregunta precisa significaba buscar a mano en un acervo que ninguna interfaz humana podía navegar de forma razonable.

Era un problema de arquitectura de información: cómo hacer accesible un gran cuerpo de conocimiento no estructurado sin pedir que alguien recuerde nombres de archivo, fechas o en qué documento estaba cada idea.

La idea

Una capa de recuperación entre las personas y el archivo

En lugar de pedir que las personas busquen documentos uno a uno, Dharma Sky procesa el corpus en una capa de conocimiento indexada — y ofrece una superficie de producto calmada para navegación, exploración temática y preguntas fundamentadas.

El sistema

De archivos no estructurados a respuestas fundamentadas

La historia central del producto es el pipeline de indexación. Todo lo que la persona experimenta — búsqueda, Ask, temas — depende de lo que ocurre aquí.

Pipeline de indexación

01

Archivos

Un corpus privado con más de 1.000 enseñanzas llega en muchos formatos — Word, PDF, RTF, HTML, imágenes escaneadas, archivos anidados.

02

Procesamiento

Cada archivo se expande, se extrae el texto (incluido OCR para imágenes) y el contenido se normaliza en texto legible de la enseñanza.

03

Indexación

La enseñanza se divide en fragmentos para recuperación, se convierte en embeddings para búsqueda vectorial y también recibe un índice a nivel de documento: términos clave, una sinopsis fiel y un embedding de enrutamiento.

04

Recuperación

Una pregunta primero selecciona las enseñanzas más relevantes y luego busca pasajes dentro de ellas — para que las respuestas se mantengan fundamentadas en las fuentes correctas.

05

Respuesta de IA

El modelo responde solo a partir de los pasajes recuperados, con citas de las enseñanzas originales — sin inventar contenido más allá de la biblioteca.

Segmentación

Las enseñanzas se dividen en unidades de recuperación con solapamiento, dimensionadas para embedding — manteniendo el contexto de página cuando está disponible.

Embeddings

Los fragmentos e índices de documento reciben embeddings para que el significado — y no solo las palabras clave — se pueda buscar.

Recuperación jerárquica

Primero selecciona las enseñanzas, luego recupera pasajes dentro de ellas. Diversifica las fuentes para que un solo archivo no domine la respuesta.

El punto para un reclutador que nunca ha construido infraestructura de IA: entiendo lo que ocurre entre que una persona hace una pregunta y la IA produce una respuesta — y diseñé ese camino como producto.

Evolución de la arquitectura

Un sistema híbrido creado para velocidad, coste y control

A medida que creció el corpus, eliminé la dependencia exclusiva de Supabase para la recuperación. Ahora cada servicio realiza el trabajo que mejor sabe hacer, mientras el producto mantiene una experiencia coherente.

01

Fuente oficial de datos

Supabase

La autenticación, el almacenamiento privado de archivos, los metadatos estructurados, los temas y los datos de usuarios permanecen en Supabase.

02

Motor de recuperación

Qdrant

Los embeddings de documentos y fragmentos viven en Qdrant. El texto de los pasajes y los metadatos de la fuente acompañan cada resultado vectorial, eliminando una consulta adicional a la base de datos en el flujo de preguntas.

03

Capa de experiencia

Next.js cache

Las lecturas del catálogo, las enseñanzas y los temas usan almacenamiento temporal en el servidor con etiquetas. Los cambios en los archivos activan una revalidación firmada, para mantener eficiente la navegación repetida sin mostrar contenido desactualizado.

Migración por etapas

Una interfaz de recuperación compartida puede dirigir las búsquedas a Qdrant o a las funciones vectoriales existentes de Postgres según la configuración. Esto separó el comportamiento del producto de la elección de almacenamiento y permitió una migración gradual.

Efecto en la experiencia

Las personas mantienen el mismo modelo simple — explorar, preguntar y verificar fuentes — mientras el almacenamiento temporal y los resultados vectoriales con datos completos reducen el trabajo evitable del servidor.

Escala

1,000+

archivos

A esta escala, buscar manualmente el material de origen ya no es una interfaz práctica.

El producto necesitaba una forma estructurada de procesar, indexar, recuperar y presentar el conocimiento correcto — para que una pregunta o tema pudiera abrir el archivo sin exigir que alguien supiera dónde vivía cada enseñanza.

Producto y UX

Una superficie simple sobre un sistema complejo

La interfaz es intencionalmente silenciosa: biblioteca, navegación, temas, Ask. La complejidad se queda en el pipeline; el producto solo pide la intención.

Preguntar

Las preguntas en lenguaje natural se convierten en una búsqueda en dos etapas: encontrar las enseñanzas correctas y luego citar los pasajes coincidentes.

Explorar

Búsqueda semántica ordenada por relevancia temática — sinopsis y términos clave hacen que una biblioteca grande se pueda recorrer sin abrir cada archivo.

Biblioteca

Filtros de catálogo por año, evento, tipo y tema. Las páginas de detalle abren el archivo completo con resúmenes opcionales por IA.

Temas

Temas reunidos entre enseñanzas, con el Constructor de Temas vinculando cada tema a pasajes de apoyo.

Cómo se mueve la gente

  • Buscar por significado — no solo por títulos exactos — usando el índice de documentos y el ranking semántico.
  • Abrir una enseñanza para leer el archivo, ver metadatos de la fuente y, opcionalmente, generar un resumen estructurado.
  • Explorar temas curados que reúnen pasajes de todo el corpus en lugar de forzar un modelo mental de un solo archivo.
  • Preguntar en lenguaje natural cuando el objetivo es una respuesta con fuentes — no una caza de archivos.

Explorar

Vista previa anonimizada

El voto del monje celoso

El voto del monje celoso · Relato Jataka

Un monje deja que los celos lo lleven a calumniar a un compañero que había ganado respeto. El relato gira en torno a la confesión, la reparación y la elección de un camino hacia el despertar.

Confesión y redención · Relato Jataka

Después de admitir su error, el monje ofrece lo que puede, renueva su voto y recibe ánimo — mientras otros personajes también hacen votos.

Interacción con IA

Conversacional — pero hecho con un propósito

Ask Dharma no es un clon genérico de chat. Está diseñado para una tarea: responder desde esta biblioteca, mostrar los pasajes que sustentan la respuesta y negarse a inventar enseñanzas que no están ahí.

¿Qué puede llevar a hacer el celo a alguien?

De la biblioteca

En el voto del monje celoso, los celos empujan a un monje a calumniar a un compañero que había ganado más respeto — acusándolo falsamente en lugar de enfrentar su propia envidia. Las fuentes recuperadas muestran cómo la admiración puede convertirse en acusación cuando los celos no se controlan.

Pasajes de apoyo

“Los celos lo llevaron a calumniar a un compañero que había ganado respeto, acusándolo falsamente de un error.”
Relato Jataka · El voto del monje celoso

Intercambio ilustrativo — no se muestra el contenido del corpus privado.

Bajo la superficie: la pregunta recibe embedding, las enseñanzas candidatas se seleccionan del índice de documentos (y por solapamiento léxico de términos clave), se recuperan los fragmentos coincidentes, se diversifican las fuentes y solo entonces el modelo escribe — limitado a esos pasajes.

El modelo no “conoce” los archivos. Responde a partir de lo que devuelve la recuperación.

Construyendo el producto

Diseñado. Construido. Lanzado.

Usé herramientas asistidas por IA para pasar del concepto de producto y UX a una aplicación funcionando — schema, pipeline de ingestión, recuperación e interfaz.

Lo importante no es que la IA escribió código. Es que pude dirigir el ciclo completo: definir el problema, diseñar la experiencia, decidir cómo debía indexarse y recuperarse el conocimiento, y lanzar un producto privado que la gente realmente pueda usar.

  • Pipeline de ingestión multiformato
  • Arquitectura híbrida con Supabase y Qdrant
  • Índices a nivel de documento y de fragmento
  • Flujo Ask fundamentado con citas
  • Almacenamiento temporal con etiquetas e invalidación orientada por eventos
  • Shell autenticado de la biblioteca privada

Decisiones de diseño

Decisiones de producto que moldearon el sistema

Ocultar la infraestructura

Las personas nunca ven embeddings, límites de fragmentos ni puntuaciones vectoriales. Ven búsqueda, respuestas y fuentes.

Recuperar antes de responder

El modelo no se trata como si “conociera” el corpus. Primero se recuperan los pasajes; la respuesta se limita a esos pasajes.

Citar el camino de cada afirmación

Los pasajes de apoyo aparecen bajo cada respuesta, vinculados a los títulos de las enseñanzas — la confianza viene de la procedencia, no del brillo.

Indexar en dos niveles

La relevancia a nivel de documento encuentra las enseñanzas correctas; la búsqueda a nivel de fragmento encuentra las líneas exactas para citar.

Diseñar para conocimiento privado

Acceso autenticado, almacenamiento privado y sin registro público — el corpus permanece una biblioteca cerrada.

Estados que encajan con el sistema

La carga (“Buscando las enseñanzas…”), los resultados vacíos y los fallos de recuperación se diseñan como momentos de producto, no como errores genéricos.

Dividir el sistema por responsabilidad

Supabase gestiona el contenido privado y los datos relacionales; Qdrant se encarga de la recuperación semántica y devuelve los datos de los pasajes con cada resultado.

Almacenar temporalmente sin perder actualización

Las lecturas estables de la biblioteca se almacenan temporalmente por etiqueta y se revalidan automáticamente cuando cambian los archivos de enseñanzas.

Lo que aprendí

Construir productos de IA es diseño de sistemas

  1. 1

    Diseñar un producto de IA significa diseñar el sistema en torno a la IA — recuperación, fundamentación y citas — no soltar un chatbot sobre una pila de documentos.

  2. 2

    La calidad de la recuperación es la calidad del producto. Si aparecen los pasajes equivocados, la respuesta se siente rota aunque la UI sea calmada.

  3. 3

    Una buena UX de IA hace invisible la infraestructura compleja. Las personas deben sentirse guiadas, no impresionadas por jerga.

  4. 4

    Las decisiones de arquitectura deben traducirse en valor para las personas: menos consultas al servidor y la invalidación planificada del almacenamiento temporal sostienen una biblioteca más ágil y fiable.

  5. 5

    El desarrollo asistido por IA cambió la velocidad con la que pude pasar del concepto de producto y UX a un sistema funcionando en el que pudiera iterar.

Product Designer · Constructor de productos de IA

Problema → pensamiento de producto → UX → sistema de IA → indexación → software publicado

Abrir Dharma Sky