De un comentario al pasar a una app usada todos los días en la barra de casa.
Tengo una estación de espresso en casa y un molinillo con 30 niveles. Cada café nuevo necesita calibrarse —molienda, dosis, rendimiento, tiempo— y una vez que encontrás el punto, hay que recordarlo. Lo llevaba en la cabeza y en notas sueltas que nunca encontraba.
La idea nació de la forma menos épica posible: esperando que se renovara un límite de tokens de Claude, parado frente a la barra, pensé "tengo un celular Android sin usar y un problema que registrar". No arranqué queriendo hacer una app. Arranqué con un problema real y molesto.
No escribo código. Todo el proyecto se construyó dirigiendo a una IA: mi trabajo fue especificar bien, iterar sobre lo que volvía, y decidir qué estaba bien resuelto y qué no. Es más parecido a hacer de product manager que de programador — y ahí mi ventaja no era técnica sino de dominio: sé de café, así que podía detectar cuándo el contenido estaba mal.
Cada sesión empezaba con diez minutos de especificación escrita antes de pedir nada. Ese paso —no el prompt— es donde está el verdadero trabajo. La primera spec ya reveló dos supuestos escondidos:
En una iteración se me escapó un "obviamente los gramos" pero no era obvio: ¿los de café molido o los de bebida extraída? Resultó que hacían falta ambos, porque juntos habilitan el cálculo del ratio que necesita un espresso perfecto.
El segundo supuesto: la molienda no es un dato por café, es un dato por café y por método —el mismo grano se muele fino para espresso y grueso para prensa. Descubrir eso temprano evitó rehacer la estructura después.
Cuatro versiones, cada una empujada por feedback de uso real, no por un plan cerrado de entrada.
Tres secciones —registro, estándares, recetas— y datos que sobreviven entre sesiones.
Al definir que viviría en un teléfono apaisado montado en la pared, decisiones "estéticas" se volvieron funcionales: tarjetas deslizables, rueda de molienda que imita el dial físico, paleta que dialoga con la pared verde.
PWA instalable, funciona sin conexión, timer que sobrevive la suspensión del teléfono, modo oscuro para la noche. Publicada por mí en GitHub Pages.
Layout reorganizado, navegación que se oculta al scrollear, orientación libre para escribir cómodo. Todo detectado usándola de verdad.
Construir no fue lo difícil; decidir qué construir y qué dejar afuera, sí. Dos ejemplos:
La app terminó siendo mucho más que la idea original, pero creció por capas que el uso validaba, nunca por sumarle features sin sentido. Las ideas grandes que aparecían —un modo guiado paso a paso de cada preparación, por ejemplo— se guardaban en un banco de ideas para madurar, en vez de inflar la versión en curso.
En una iteración, la IA describió mal la diferencia entre un americano y un long black. Yo la sabía; la corregí. Cuando dirigís IA para generar contenido especializado, tu criterio no es opcional: es la última línea de defensa contra lo que suena bien pero está mal.
CoffeeHouse vive hoy en un Moto G100 restaurado, montado en la barra, con su propia cuenta y su identidad visual. La uso todos los días.
La primera calibración real fue un magic: molienda demasiado fina, apenas 12,7 g extraídos en 25 segundos. Salió desbalanceado —pero quedó registrado, con la nota de qué probar la próxima vez. Ese bucle —hipótesis, prueba, registro, ajuste— es exactamente para lo que existe la app. Funcionó calibrándola mientras calibraba el café.
"Se usa en un teléfono apaisado en la pared" convirtió decisiones de estilo en decisiones funcionales.
Cada palabra dada por sentada en una especificación es una decisión sin tomar.
Una app chica usada todos los días enseña más que una grande abandonada.
"Quedó como una tabla apretada" permite arreglar la estructura; "está feo" no.