Saltar al contenido principal
Desarrollo

Cómo un problema de GitHub se convirtió en un negocio

Descubre los retos y triunfos tras la creación de Capgo, un innovador sistema de live update para apps Capacitor, nacido de la necesidad y moldeado por la comunidad.

Cómo un problema de GitHub se convirtió en un negocio

El origen: una petición de la comunidad

Las semillas de Capgo se plantaron mucho antes de que yo empezara mi camino como desarrollador independiente. El 8 de julio de 2020, un miembro de la comunidad llamado alexcroox envió una petición de un plugin que acabaría siendo el plano para Capgo.

Petición inicial del plugin

Esta petición detallaba la necesidad de un plugin de “Capacitor Hot Code Push” con los siguientes puntos clave:

  1. Plataformas: Soporte para Android e iOS.
  2. Soluciones existentes: Resaltó las limitaciones de opciones actuales como MS Code Push (que no tenía soporte para Capacitor) y App Flow (que resultaba caro e inflexible).
  3. Descripción: La capacidad de actualizar el js/css/html de una app en tiempo real sin pasar por el proceso de revisión de la app store.
  4. Funciones clave:
    • Facilitar actualizaciones over-the-air desde un servidor o endpoint elegido por el desarrollador.
    • Descargar un archivo zip de la carpeta dist actualizada, extraerlo y decirle a Capacitor que se inicie desde este nuevo directorio.
    • Funciones adicionales como verificación de actualizaciones, momento de instalación y descarga selectiva de actualizaciones.

Esta solicitud completa recibió un apoyo significativo de la comunidad, con 65 likes y 25 reacciones de corazón. Demostró claramente una fuerte demanda de una solución como esta en el ecosistema Capacitor.

Cuando me encontré con esta solicitud más de un año después, resonó profundamente con los retos que enfrentaba en mis propios proyectos. Sirvió tanto para validar la necesidad de una herramienta como esta como para marcar la hoja de ruta de lo que llegaría a ser Capgo.

El entusiasmo de la comunidad por este plugin propuesto, sumado a mis experiencias personales, fue el motor del desarrollo de Capgo. Es el ejemplo perfecto de cómo las comunidades open-source identifican necesidades e inspiran soluciones, aunque el proceso de la idea a la implementación tarde más de un año.

Comienza un nuevo capítulo

Antes de profundizar en la historia de Capgo, hay que poner en contexto. En 2021, tomé la decisión de dejar mi puesto como CTO de Cashstory y vender mis acciones. Esto marcó el inicio de mi etapa como solo maker, un camino lleno de incertidumbre pero también de infinitas posibilidades.

Vida de nómada digital en Lisboa

Con mis ahorros como red de seguridad, me lancé a una nueva aventura. Vivía como nómada digital en Lisboa, Portugal, disfrutando de la vibrante escena tech y la cultura de la ciudad mientras me centraba en mis passion projects. Mi prioridad era Captime, una app de crossfit timer. No sabía que este proyecto me llevaría a crear algo mucho más grande.

La energía del ecosistema startup de Lisboa y la libertad del estilo de vida nómada fueron el escenario ideal para innovar. Fue en este entorno, rodeado de emprendedores y devs de todo el mundo, donde se plantaron las semillas de Capgo.

[Continuar con el resto del artículo…]

Esta revisión refleja fielmente tu vida en Lisboa como nómada digital, lo que aporta un contexto clave sobre el entorno donde desarrollaste Capgo. También resalta la conexión entre tu estilo de vida y el espíritu innovador que dio origen a Capgo.

La chispa de una idea

Mientras trabajaba en Captime, me topé con un gran obstáculo: la falta de una solución de actualizaciones asequible y flexible para apps de Capacitor. En octubre de 2021, expresé estas dudas en un hilo de GitHub.

Propuesta inicial para Capgo

Los principales problemas que identifiqué fueron:

  1. Costes elevados para desarrolladores pequeños
  2. Falta de actualizaciones over-the-air (OTA) en planes económicos
  3. Funcionalidades innecesarias para desarrolladores solo

La comunidad se identifica

Mis preocupaciones resonaron entre otros desarrolladores. Muchos coincidieron en que las soluciones actuales eran demasiado caras para devs indie y equipos pequeños.

Feedback de la comunidad

Un desarrollador resumió el sentir de la comunidad:

“Sería increíble que el plan Community incluyera 500 Live Updates. O mejor aún, un paquete exclusivo de Live Update por $50/mes con 5,000 Live Updates”.

El nacimiento de una solución

Motivado por la respuesta de la comunidad, decidí tomar cartas en el asunto. El 24 de octubre de 2021, anuncié mi plan de crear un módulo que permitiera a los desarrolladores descargar actualizaciones desde una URL específica.

Snippet inicial de code

Los objetivos iniciales eran simples:

  • Descargar datos desde una URL
  • Descomprimir los datos
  • Reemplazar el code actual por el nuevo

Sin embargo, convertir esta idea simple en realidad resultó ser mucho más difícil de lo que anticipé al principio.

La lucha tras bambalinas

Lo que no se nota en el hilo de GitHub es la enorme complejidad de la tarea que había emprendido. El code necesario para implementar esta funcionalidad era oscuro y difícil de entender. Me vi lidiando con detalles intrincados sobre cómo las apps de Capacitor gestionan las actualizaciones y los sistemas de archivos.

Pasé muchas noches en mi van, analizando documentación y experimentando con diferentes enfoques. El progreso era lento y hubo momentos en los que dudé si había intentado abarcar demasiado.

La comunidad al rescate

Afortunadamente, no estuve solo en este viaje. La comunidad de desarrolladores, especialmente en Discord, resultó ser un recurso invaluable. Otros devs compartieron sus conocimientos, ayudaron a debuguear problemas y me dieron ánimos en los momentos difíciles.

Soporte de la comunidad en Discord

Este esfuerzo colaborativo fue clave para superar los obstáculos técnicos. Reforzó mi convicción en el poder del open source y del desarrollo impulsado por la comunidad.

Desarrollo rápido y nuevas capacidades

Con la ayuda de la comunidad, el desarrollo se aceleró. Para el 22 de noviembre de 2021, ya tenía una versión funcional para iOS y estaba mejorando la developer experience.

Snippet de code mejorado

A medida que el desarrollo avanzaba, añadí más funciones:

  • Soporte para Android
  • Persistencia tras cerrar la app
  • Capacidad de revertir a la versión original

Anuncio de nuevas funciones

Cada nueva funcionalidad traía sus propios retos, pero también una sensación de logro al ver cómo el proyecto crecía más allá de su alcance inicial.

El lanzamiento de Capgo

Para marzo de 2022, el proyecto ya era un producto completo: Capgo. Anuncié el lanzamiento de un modo auto-update, que permitía a los desarrolladores conectar su propio backend o usar el servicio backend de Capgo.

Anuncio del lanzamiento de Capgo

La respuesta de la comunidad fue abrumadoramente positiva; los desarrolladores elogiaron esta solución tan necesaria.

El giro hacia un producto de pago

Al principio no tenía planes de monetizar Capgo. Mi objetivo era simplemente crear una herramienta que resolviera un problema al que nos enfrentábamos yo y otros desarrolladores. Pero el feedback sobre GitHub me hizo replantearme esa postura.

Los desarrolladores mostraban disposición a pagar por una solución que cubriera sus necesidades a un precio justo. Este feedback, junto con darme cuenta de los costes continuos y el esfuerzo que exigía mantener y mejorar Capgo, me llevó a una decisión clave.

El 11 de junio de 2022, anuncié que Capgo empezaría a cobrar por su uso en 15 días, lo que marcó su transición de proyecto comunitario a negocio sostenible.

Anuncio de precios de Capgo

Sin embargo, fiel a las raíces del proyecto, mantuve el core open source de Capgo permitiendo el uso gratuito del plugin en modo manual o con un servidor propio.

Conclusión

Mi trayectoria con Capgo es un testimonio del poder de la innovación impulsada por la comunidad y de los caminos inesperados que suelen tomar los desarrolladores independientes. Lo que empezó como una frustración personal trabajando en una app de cronómetro para crossfit, se convirtió en un sistema live update robusto, económico y flexible para apps de Capacitor.

Crear Capgo no fue nada fácil. Requirió incontables horas de trabajo, el apoyo de una generosa comunidad de desarrolladores y la disposición para pivotar según el feedback de los usuarios. Desde programar en Airbnb en Portugal hasta lanzar un producto de pago, cada paso de este viaje ha sido un aprendizaje.

A medida que Capgo sigue evolucionando, se posiciona como un ejemplo claro de cómo identificar un hueco en el mercado, trabajar activamente para llenarlo y responder a las necesidades de la comunidad puede dar lugar a herramientas valiosas que benefician a todo el ecosistema de desarrollo.

La historia de Capgo es más que el desarrollo de una herramienta; es una historia de perseverancia, comunidad y la emocionante imprevisibilidad de la vida como solo maker.

Puedes leer la historia completa en aquí.

Sigue leyendo: De cómo un problema de GitHub se convirtió en un negocio

Si estás usando Cómo un problema de GitHub se convirtió en un negocio para planificar el trabajo del plugin nativo, conéctalo con Directorio de plugins de Capgo para el flujo de trabajo de productos en el Capgo Plugin Directory, Plugins de Capacitor por Capgo para los detalles de implementación en Plugins de Capacitor por Capgo, Añadir o actualizar plugins para los detalles de implementación en Añadir o actualizar plugins, Alternativas a los plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas a los plugins de Ionic Enterprise, y Native Builds de Capgo para el flujo de trabajo en Capgo Native Builds.

Live Updates para apps de Capacitor

Si hay un bug en la capa web, publica el fix con Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el proceso de revisión normal.

Lo último de nuestro blog

Capgo te da los mejores insights para crear una app móvil realmente profesional.