GreenGrass

Una plataforma para manejar elecciones políticas de base en el Sur Global.

GreenGrass reúne en un solo lugar un gestor de relaciones con constituyentes (CRM), una base de datos de votantes, herramientas de recaudación de fondos, una suite de comunicaciones y analítica de datos. Está pensada para contextos de recursos limitados, conectividad intermitente, poblaciones multilingües y estructuras de organización descentralizadas.

Qué está en español y qué no

En español está casi todo: las 16 especificaciones de producto, la arquitectura del sistema, los 21 ADR más el registro de decisiones de UX y los 15 documentos de diseño de UX que no son wireframes. Cincuenta y cuatro documentos.

Falta una cosa, y es grande: los 24 documentos de wireframes —240 pantallas, más de la mitad de todo lo que hay escrito en este proyecto— siguen solo en inglés, igual que el diario. Si sigues un enlace a un wireframe desde una página en español, vas a terminar en inglés. No está roto: es lo que todavía no se ha traducido. El botón EN, arriba a la derecha, te lleva a la documentación completa en cualquier momento.

Mercados objetivo

Puerto Rico (alfa), Brasil, Tailandia, India y Líbano — cada uno con su propio sistema electoral, sus idiomas, sus leyes de protección de datos y sus límites de infraestructura.

Estado del proyecto

Fase actual: especificación y diseño (completa)

Las especificaciones de producto, los artefactos de diseño de UX y los documentos de arquitectura están terminados. El proyecto está listo para pasar a implementación.

Orden de lectura

Empieza por el producto

  1. pitch.md — Empieza aquí. Presentación pre-MVP: un asistente de campaña en Telegram redacta las piezas del día y la candidata, o la presidenta de un comité, aprueba cada una. Escrita para leerse sola, para las candidaturas.
  2. demo.md — Especificación de la demostración de aprobación de campaña: la misma demostración completa, y cómo encaja con GreenGrass y la ADR-018. Su código vive aparte, en el repositorio privado Onda-Corta/campaign-agent-demo, y no acepta nada de la ADR-018.
  3. product.md — Descripción general del producto, usuarios objetivo, conjunto de funcionalidades centrales.
  4. mvp.md — Plan de producto del MVP: el fideicomiso de datos de la coalición, y el piloto diseñado para probar el supuesto más riesgoso del proyecto.
  5. users.md — Arquetipos de usuario, roles, modelo de permisos.
  6. workflows.md — 12 flujos de trabajo centrales: trabajo de campo, inscripción de votantes, recaudación de fondos, eventos, comunicaciones y más.
  7. geography.md — Países objetivo, estrategia de localización, secuencia de despliegue.
  8. security.md — Modelo de amenazas, seguridad en 5 niveles, arquitectura de cifrado, autenticación.
  9. compliance.md — Ley electoral, protección de datos y financiamiento de campañas en los 5 países.
  10. fundraising.md — Procesamiento de pagos, tipos de donación, recaudación en alianza, experiencia del donante.
  11. integrations.md — Sistemas externos: GIS y mapas, SMS, WhatsApp, telefonía, observabilidad.
  12. support.md — Superficie de soporte a las organizaciones, asistentes de puesta en marcha, base de conocimiento, modelo de acompañamiento.
  13. gotv.md — GOTV (Get Out The Vote — movilización del voto) y operaciones del día de elecciones.
  14. messaging.md — Comunicaciones internas, notificaciones, cifrado de extremo a extremo.
  15. press.md — Prensa, medios, redes sociales, perfiles públicos, respaldos.
  16. comms-intelligence.md — Hoja de ruta post-MVP: inteligencia de medios, verificación de datos, mapa de medios, evaluación de candidaturas e investigación de oposición, ordenadas por iteraciones.

Después, cómo está construida

  1. system.md — La arquitectura del sistema completa: topología, modelo de datos, cifrado, sincronización, conservación de datos, stack tecnológico.
  2. 00-overview.md — Puerta de entrada al diseño de UX: orden de lectura, glosario y las convenciones que sigue el resto.

Y por qué está construida así

Los 21 ADR registran cada decisión de arquitectura, con su contexto, sus alternativas descartadas y lo que cuesta cada una.

  • ADR-001 — Arquitectura y despliegue de la plataforma
  • ADR-002 — Seguridad y modelo de amenazas
  • ADR-003 — Identidad, acceso y organización
  • ADR-004 — Modelo de datos e integridad
  • ADR-005 — Prioridad sin conexión y sincronización
  • ADR-006 — Operaciones de campo y GOTV
  • ADR-007 — Recaudación de fondos y pagos
  • ADR-008 — Comunicaciones y mensajería
  • ADR-009 — Cumplimiento y marco legal
  • ADR-010 — Internacionalización y localización
  • ADR-011 — Sistema de diseño y fundamentos de UX
  • ADR-012 — Integraciones externas
  • ADR-013 — Analítica e IA
  • ADR-014 — Voluntariado e incorporación
  • ADR-015 — Límites del alcance del producto
  • ADR-016 — Resoluciones transversales: las 89 preguntas abiertas de la fase de wireframes, resueltas
  • ADR-017 — El contrato de intercambio como primitiva universal de confianza
  • ADR-018 — Postura ante los agentes de IA (propuesta)
  • ADR-019 — Servicios centrales y facturación medida
  • ADR-020 — Los cuatro servicios centrales y los constructores
  • ADR-021 — Flujo de aprobación de contenido
  • ux-decisions.md — Decisiones de UX de la fase de wireframes

El diseño en detalle

Arquitectura de la información — qué pantallas existen, cómo se llega a ellas y qué ve cada quien.

Patrones globales — lo que se comporta igual en toda la plataforma.

Sistema de diseño — de qué está hecha la interfaz.

Principios de diseño

  • Con prioridad sin conexión — todo funciona sin conectividad y sincroniza cuando la hay
  • Soberanía primero — cada organización es dueña de sus datos, con cifrado BYOK (Bring Your Own Key — la organización controla su propia llave de cifrado) por defecto
  • Multilingüe desde el día uno — soporte RTL, traducción asistida por IA con revisión humana
  • La seguridad es una funcionalidad — modelo de amenazas de 5 niveles, mensajería cifrada de extremo a extremo, autenticación con passkeys
  • El cumplimiento va incorporado — las reglas de financiamiento de campañas, la protección de datos y el consentimiento son barandas, no agregados de última hora