Un centro de documentos familiar tolerante a errores tipográficos con FastAPI y Meilisearch
Cada hogar acumula la misma pila dispersa: el manual de la caldera, la receta que alguien capturó con pantalla, el enlace al portal escolar, el PDF de garantía. start.khanoff.com es mi intento de poner todo detrás de una caja de búsqueda indulgente para toda la familia.
La pila (The stack)
- FastAPI + Jinja2/HTMX — páginas renderizadas en el servidor con suficiente interactividad, sin SPA. Rápido de cargar en un teléfono, simple de entender.
- PostgreSQL para los datos.
- Meilisearch para la búsqueda — y este es el punto: es tolerante a errores tipográficos. Los miembros de la familia no recuerdan nombres de archivo exactos; escriben lo que aproximadamente quieren decir y el documento correcto aparece de todos modos.
- Immich maneja los medios (fotos y videos) en lugar de reinventar un almacén de medios.
- Inicio de sesión con enlace mágico a través del servidor de correo del hogar (poste.io) — sin contraseñas que olvidar; haces clic en un enlace en tu correo electrónico.
- Es una PWA, por lo que se instala en la pantalla de inicio de teléfonos y escritorios.
Diseñado para personas, no para administradores
Todo está iniciado por el propietario y se ejecuta en unos pocos contenedores Docker detrás de nginx. Pero el objetivo del diseño nunca fue la "arquitectura limpia" por sí misma; era que un miembro de la familia no técnico pudiera abrirlo, escribir una palabra a medias recordada y encontrar lo que buscaba. La búsqueda tolerante a errores tipográficos más una interfaz de usuario cálida y simple hacen más para la adopción que cualquier cantidad de pulido de backend.
Misma filosofía, diferente dominio
Como mis otras herramientas autoalojadas, las partes móviles están organizadas de modo que el camino cotidiano sea muy sencillo y resistente: buscar y navegar siempre funcionan, los medios viven en un sistema construido para ello, e iniciar sesión es con un clic. La inteligencia se mantiene fuera del camino de la persona que solo intenta encontrar la contraseña del WiFi.
Transparencia: la mayoría de las entradas se redactan con ayuda de IA, y las versiones que no están en inglés se traducen automáticamente con un LLM local y luego se revisan. ¿Has visto un error? Avísame, por favor.