El pasado agosto empecé a contar mis andaduras con Tipicolis, mi proyecto de reservas para actividades rurales, y no había vuelto a escribir más hasta ahora. ¿Se ha quedado en el cajón el proyecto? Todo lo contrario, me ha tenido bastante absorbido. Tanto que ni siquiera me ha dado oportunidad a contarlo. Definitivamente, eso del building in public tiene mucho más mérito de lo que pensaba.
Durante este tiempo me he concentrado en crear un panel de administración acorde al proyecto y en preparar el proceso completo de reserva, desde la creación de la experiencia a la programación del evento, fechas disponibles y gestión de tickets con sus precios y limitaciones. Al menos, creo que he podido cubrir el núcleo más importante de mi aplicación, aunque queda bastante trabajo por delante. Este tiempo me he sentido bloqueado en arrancar con la parte comercial. Contra toda la literatura sobre el tema, estoy tardando bastante en ponerme el sombrero comercial y he quedado algo atrapado en la complejidad del código.

Pero tras todas estas semanas de trabajo, puede ser un buen momento para sacar conclusiones acerca de la ejecución del proyecto. Así que voy a contar algunas enseñanzas sobre la ejecución de este proyecto personal:
1. Para crear un MVP debes ser muy valiente (y un poco insensato)
Un proyecto mínimo viable (MVP) no es un producto acabado. La teoría está muy bien, pero sin un plan muy radical y con un perfil técnico de por medio, empiezas a ver todos los fantasmas pasearse por el proyecto. Debes ser valiente para olvidarte de todos y cada uno de los escenarios que tu cabeza quiere fabricar. También para asumir que tu producto no se verá bien, que no será 100% usable y que tendrá muchas carencias.
Si quieres lanzar realmente, necesitas un poco de insensatez, que no es lo mismo que estupidez. Sin eso tampoco creo que tengas la habilidad para marcar una diferencia en la cabeza del cliente.
2. La interfaz de usuario es realmente complicada
Da igual las herramientas que uses, diseñar una interfaz de usuario es muy complicado. Para manejar el frontend necesitas ser metódico y contar con el don de la anticipación. Literalmente, ir por delante del que se enfrenta a tu aplicación.
Al crear un evento hay infinidad de posibilidades a manejar: horarios, capacidad, tipo de entradas, precios, fechas límite… Todo eso en ocasiones debe estar “observándose” y validándose, a menudo en tiempo real.
Por fortuna, AlpineJS y Livewire son herramientas muy avanzadas para este tipo de trabajo, pero a costa de crear complejidad en el código con más líneas de las que uno puede llegar a mantener con cierta cordura.

3. Realmente vas a necesitar una librería de componentes
Desde el primer momento opté por usar Flux UI, la librería oficial de componentes para Livewire, en su versión gratuita. Un error tremendo. He sufrido mucho hasta hacer funcionar la subida y actualización asíncrona de ficheros, o la gestión correcta de los inputs de calendario. Son tareas muy complicadas que te hacen meter largas horas a tu proyecto.
Por supuesto, hay muchas cosas que puedes desarrollar de forma nativa y con el aspecto que quieres, pero por lo general no te puedes dar ese lujo. La productividad que ofrece algo como Flux UI es alucinante y una de las mejores inversiones para tu proyecto. Sé listo y déjate el orgullo aparcado.
4. La diferencia es fundamental, pero es inevitable copiar
Siguiendo con lo expuesto anteriormente, creo que aunque es bueno marcar diferencias, copiar de los buenos es la mejor forma de afrontar los bloqueos o simplemente solucionar el flujo de tu aplicación. Reconozco haberme sentido muy agotado a la hora de diseñar ciertas partes de la aplicación. Si son reservas, ¿no hay aplicaciones haciendo justo eso? Es impresionante los detalles que pasan desapercibidos al usar estos servicios.
Lo mejor que suelen tener estas aplicaciones es que están orientadas 100% a la conversión de las visitas. Estudiarlas es toda una clase magistral para cualquier producto digital.

5. Perseverar es lo realmente complicado
Es asombroso lo fácil que resulta empezar un proyecto para luego abandonarlo. Un producto digital tiene esa carga: las oportunidades para tirar la toalla son enormes y abundantes. Momentos de cansancio, bloqueo y pesimismo no faltarán para sembrar dudas. Pero quizás el secreto más incómodo y complicado sea justo ese: perseverar.