Autor · 2026
Mnemo
Flashcards con repetición espaciada para mi propio estudio — el contenido vive en Markdown versionado con git, el estado SRS (SM-2 de Anki) en Postgres. Live en su propio subdominio, full-serverless en el free tier.
Descripción general
Una app personal de estudio con tarjetas, estilo Anki. El contenido — 8 mazos, 256 tarjetas — vive en archivos Markdown versionados con git; el estado de repetición espaciada (algoritmo SM-2 de Anki) vive en Postgres. Está en uso real diario, y eso mantiene honesta cada decisión de diseño.
Live: https://mnemo.falvarez.dev
Arquitectura: monorepo hexagonal
@mnemo/domain— el parser de Markdown y el scheduler SM-2 como TypeScript puro: 67 tests, sin base de datos, sin framework. El paquete viaja intacto a cualquier runtime.- Contenido ≠ estado como decisión central: los
.mdson la fuente de verdad; la base de datos es derivada e idempotente — el seed se puede re-correr en cualquier momento sin perder el estado de scheduling. - Full-serverless en el free tier: Cloudflare Workers (vía OpenNext) + Neon Postgres, dominio propio, CI/CD en cada push (GitHub Actions).
Más allá de las flashcards: modo quiz
Un modo quiz didáctico donde cada pregunta trae distractores plausibles escritos a mano y una explicación conceptual del "por qué" — las respuestas incorrectas enseñan en lugar de solo fallar. Los modos son extensiones del mismo dominio, no apps separadas: extensibilidad hecha carne.
Por qué este proyecto
Es el proyecto que más uso y el que muestra el arco completo: modelado de dominio (SM-2, parsing de contenido), un monorepo real con límites estrictos, y operación en producción en mi propio dominio — deployado, monitoreado, y a US$0/mes.
Más
Otros proyectos
Sistema de Stock de Supermercado
Backend de gestión de inventario para una cadena de supermercados, construido en Laravel con un núcleo framework-agnostic y domain-driven. El dominio se testea por completo sin Laravel — PHP puro.
Laravel 11 · PHP 8.3 · PostgreSQL · Pest · Docker
Tracker de Aplicaciones Laborales
Un tracker para aplicaciones, entrevistas, contactos y follow-ups que efectivamente uso en mi propia búsqueda laboral. Node.js + TypeScript + Fastify + Prisma con JWT auth y una máquina de estados para el status de la aplicación.
Node.js · TypeScript · Fastify · Prisma · PostgreSQL