Alexander A. E. Full Stack Developer

Proyectos

No son ejercicios de tutorial. Son cuatro productos que están en producción y que mantengo yo: un comparador de colegios para familias peruanas, una plataforma para que escolares repasen jugando, una tienda online de pines y una herramienta para que los agentes de código recuerden lo que hicieron.

Cada uno tiene su caso de estudio con las decisiones técnicas, los números reales y lo que salió mal.

colegios.pe — comparador de colegios del Perú

Casi 181.000 instituciones educativas del país en un solo catálogo, con datos oficiales del MINEDU y reseñas de la comunidad, para que una familia decida en qué colegio matricular a sus hijos.

  • Stack: FastAPI + SQLAlchemy + PostgreSQL, SvelteKit, y seis scrapers en Python para ESCALE, Identicole, matrícula, PAE, distritos y COAR.
  • Qué resuelve: buscar por distrito, nivel, gestión o pensión; comparar colegios; ver la ficha con matrícula, alimentación escolar y contexto del distrito.
  • Tamaño: 509 tests entre API, frontend y scrapers.

Cómo lo construí · colegios.pe

tucole.pe — plataforma educativa "aprende jugando"

Repaso y práctica para estudiantes de 4.º y 5.º de secundaria: siete cursos entre aritmética, geometría, trigonometría, física, biología, lenguaje e historia del Perú, con lecciones y exámenes por unidad.

  • Stack: FastAPI + SQLAlchemy + PostgreSQL y SvelteKit 3 con Svelte 5, Tailwind y SQLAdmin. Antes era Django 3.0 y Vue 2, los dos sin soporte.
  • Qué resuelve: repaso por curso y unidad, exámenes, registro con login y newsletter, y un panel de contenido.
  • Tamaño: el backend legado eran 827 líneas y 6 modelos; se reescribió entero en vez de parchearlo.

Cómo lo construí · tucole.pe

kipin.pe — tienda de pines metálicos

Tienda online de pines ilustrados, hecha con Django. El trabajo interesante no es el carrito: es el buscador, que tiene que encontrar "cactus" cuando alguien escribe "catus".

  • Stack: Django 6.1, PostgreSQL con pg_trgm y unaccent, easy-thumbnails con WebP, gunicorn detrás de nginx.
  • Qué resuelve: catálogo, búsqueda tolerante a errores de tecleo, productos relacionados, miniaturas y feed para Facebook.
  • Dónde corre: VPS de OVH, servicio de systemd, estáticos servidos por nginx.

Cómo lo construí · kipin.pe

anathem — memoria local para agentes de código

Un binario en Rust y un archivo SQLite. Nada más: ni demonio, ni servidor HTTP, ni claves de API. Un agente guarda lo que aprendió y lo encuentra en la sesión siguiente.

  • Stack: Rust, SQLite con FTS5, servidor MCP por stdio, BM25 y un paquete de vocabulario opcional para la capa vectorial.
  • Qué resuelve: memoria entre sesiones de Claude Code y opencode, con correcciones explícitas por tema o por id.
  • Medido: 9 MB en reposo, 8 ms de búsqueda sobre 449 memorias y 90,5% de recall@5 en LongMemEval-S.

Cómo lo construí · Código en GitLab

Cómo trabajo

Cada proyecto empieza por los datos y por el problema de quien lo va a usar, no por el framework. Después escribo los tests antes de tocar la interfaz, documento las decisiones que no son obvias y dejo el despliegue reproducible: si no se puede volver atrás en un comando, no está terminado.

Si quieres hablar de alguno de ellos, escríbeme a me@alexanderae.com.