# Horario ICS

Sacale una foto al horario del colegio y llevate un calendario suscribible. Gemini hace el OCR y la extracción estructurada; la app convierte el resultado en un feed .ics que tu teléfono puede seguir.

- Fecha: 3 de octubre de 2025
- Rol: Solo.
- Estado: Publicado
- Sin mantenimiento

> **Sin mantenimiento, y el código es privado.** Funcionó para los
> cuatrimestres que lo necesité. Lo dejo acá porque lo interesante son las
> decisiones, no la herramienta.

Cada cuatrimestre el colegio reparte el horario como una grilla — días arriba,
bloques horarios al costado, materia y profesor y aula apretados en cada
celda. Útil en papel, inútil en un teléfono.

Esto toma una foto de esa grilla y devuelve un calendario al que te podés
suscribir.

## Las decisiones que vale leer

**La extracción la hace Gemini, no un parser escrito a mano.** El layout de la
grilla cambia entre cuatrimestres y entre años, y un parser afinado para una
forma se rompe con la siguiente. El prompt describe la *estructura* —las
columnas son días de semana, las filas son bloques horarios, cada celda tiene
materia, profesor y aula— y pide JSON. Eso sobrevive un rediseño; un parser
por coordenadas, no.

**Hay una lista de fallback de modelos, no un modelo.** Prueba
`gemini-1.5-flash` primero y cae por otros dos. Un solo modelo hardcodeado es
una herramienta que deja de funcionar el día que ese modelo se retira, y esta
tiene que seguir andando cada cuatrimestre sin que yo la toque.

**El calendario se sirve desde una ruta, no se baja como archivo.** Un `.ics`
descargado es una foto; una URL suscripta se actualiza. Significa que el
horario se puede corregir después y todos los teléfonos que se suscribieron
reciben el arreglo.

## La parte que llevó más tiempo

No la IA: la zona horaria y los acentos. `miércoles` y `miercoles` son el mismo
día para una persona y dos claves distintas para una tabla de lookup, y un
`.ics` sin zona horaria declarada corre alegremente cada clase tres horas una
vez que llega a una app de calendario en Buenos Aires.

---

Página: https://eitanf.com/es/lab/horario-ics · English: https://eitanf.com/lab/horario-ics.md · llms.txt: https://eitanf.com/llms.txt
