Retrospectiva técnica de SuperVote: 15 años desarrollando una app de votos

Fuentes: SuperVote: 15 year retrospective on a social endorsement app

En 2012, el desarrollador August Callejas lanzó SuperVote, una aplicación para iPhone que permitía a los usuarios de Facebook compartir sus recomendaciones políticas mediante una papeleta compartida. Este artículo, publicado en noviembre de 2026, revisa la evolución técnica de la herramienta a lo largo de quince años, detallando las decisiones de arquitectura y las lecciones aprendidas durante su desarrollo.

El proyecto surgió de la necesidad de simplificar el proceso de votación en California, donde los votantes debían estudiar guías electorales extensas. Callejas comenzó con un prototipo web en 2003, pero la app móvil se consolidó en 2012. Para el backend, utilizó Java con Jetty como servidor, MySQL como base de datos y RabbitMQ para el manejo de colas de mensajes, optando por Jira para el seguimiento de tareas. El diseño de la base de datos fue complejo, ya que debía modelar la jerarquía gubernamental de EE. UU., los distritos electorales y las papeletas personalizadas según la ubicación del usuario, integrando datos de APIs como Sunlight Labs y Cicero.

En el frontend, Callejas aprendió Objective-C desde cero, utilizando librerías de terceros como AFNetworking y SBJson para gestionar red y JSON. Aunque consideró PhoneGap (ahora Apache Cordova) para multiplataforma, se centró en iOS por falta de acceso a dispositivos Android. El artículo destaca la disponibilidad del código fuente en GitHub como recurso educativo para futuros desarrolladores, ofreciendo un análisis detallado de cómo se estructuraron las papeletas y las conexiones sociales entre usuarios. Esta retrospectiva sirve como referencia técnica para entender la ingeniería de software en la década de 2010 y la transición hacia herramientas modernas.