Proyecto personal · En mi servidor · 2026

Notebook

Apuntes como un chat contigo mismo, con memoria: les preguntas, los buscas y estudias con flashcards. Open source.

Ver en vivo ↗

Mi rol

Idea, arquitectura, desarrollo y publicación como open source, con mi agente de IA como pareja de programación.

Stack

  • Node.js
  • Express
  • SQLite
  • sqlite-vec
  • FTS5
  • RAG
  • Groq
  • Gemini
  • SSE
  • PWA
  • JavaScript

El problema

Los apuntes de la universidad terminan repartidos entre cuadernos, fotos del pizarrón, audios y chats. Notebook los junta por materia en hilos tipo chat y permite preguntarles en lenguaje natural: responde solo con lo que escribiste, cita la fuente y, al tocarla, salta al mensaje exacto. Con eso mismo genera resúmenes, flashcards y quizzes.

Lo destacado

  1. 01Búsqueda híbrida dentro de SQLite: significado (sqlite-vec) + palabras exactas (FTS5) fusionadas con RRF, sin base vectorial aparte. Recall@6 del 93 % medido con datos reales.
  2. 02Respuestas en vivo con citas: cada fuente lleva al mensaje exacto y resalta la frase que usó la IA; las conversaciones recuerdan el contexto.
  3. 03Fotos del pizarrón y notas de voz se transcriben solas y entran al índice; también importa chats de WhatsApp con sus fotos y audios.
  4. 04Modo estudio: resúmenes, flashcards y quizzes generados a partir de un apunte o una materia.
  5. 05Escritura fluida: los mensajes aparecen al instante y se envían en orden aunque la red sea lenta, sin perder nunca lo que estás escribiendo.
  6. 06Cero costo: toda la IA corre en planes gratuitos (Groq y Gemini) respetando sus límites; liviano a propósito (Node.js, frontend sin framework, systemd) para un servidor con poca RAM.

Lo que aprendí

  • → 01Medir antes de ajustar: una evaluación automática con preguntas generadas mostró que el corte de relevancia estaba mal y que los fragmentos partían los mensajes por la mitad; con datos, la recuperación pasó a 93 %.
  • → 02La fluidez es arquitectura, no estilo: una cola de envío y no robarle el foco al campo de texto importaron más que cualquier animación.
  • → 03Abrir el código obliga a ordenar: tests, CI, documentación y sacar todo dato personal del historial antes de publicarlo.

En vivo

Corriendo en mi servidor

Proyectos que corren en mi homelab, bajo mi dominio. Entra a cada uno para ver cómo funciona.

Artículos sobre este proyecto

Siguiente proyecto

Rubik →

← Volver