La respuesta cívica digital sobre los servicios de gobierno

El jueves 25 de junio a las 11am, Code4PuertoRico tendrá su primer livestream para informar el estado de los proyectos bajo su bandera.

Estarán dando actualizaciones sobre:

  • ParaVotarPR – facilitando el proceso de inscripción
  • SafePath / Covid-19 response – esfuerzo para lograr rastreo digital
  • ContratosPR – fácil revisión de los contratos del gobierno

Reservar Espacio


A continuación una entrevista a Froilán Irizarry y José Padilla, dos grandes programadores y líderes de la comunidad cívica-digital Code4PuertoRico sobre el desarrollo de ConratosPR.com. Un proyecto de código abierto nó afiliado al Gobierno de Puerto Rico que presenta de manera más sencilla y accesible todas las contrataciones registradas en la Oficina del Contralor de Puerto Rico.  

Trasfondo

La comunidad cívica-digital de Puerto Rico ha contribuído muchísimas soluciones para mejorar la interacción de los ciudadanos con su gobierno.  La oportunidad de abrir el gobierno a estas aportaciones cívicas tuvo su inicio en el TechSummit del 2013 cuando sobre 200 ‘hackers’ trabajaron abiertamente sobre retos y oportunidades presentadas por diferentes agencias de gobierno.  

En menos de 24 horas, diversos equipos digitales presentaron sobre 25 proyectos, entre ellas:

  1. Varias aplicaciones para visualizar averías eléctricas
  2. Aplicación para revisar el tiempo de espera en rutas de la AMA y la ubicación en tiempo real
  3. Varias aplicaciones para reportar hoyos en carreteras
  4. Una aplicación para llevar la asistencia de estudiantes y maestros en las escuelas

Sin embargo, la gran mayoría quedaron en nada.  En algunos casos el gobierno no pudo incorporar las aportaciones a su oferta de servicio, y en otros, no pudo hacerlo parte de sus procesos para mejorar la entrega de un servicio al ciudadano.  Las razones varían, pero el denominador común es la falta de una estructura digital central capaz de proveer plataformas que faciliten esta colaboración y dinamismo.  

Fast Forward al 2019

Esta comunidad sigue dispuesta a ser parte de la solución.  Luego de los terremotos, aportaron con el desarrollo de SuministrosPR.com para organizar la captura y entrega de necesidades a los refugios en el sur de la isla. La página se convirtió en la herramienta principal de uso promovida por FEMA para canalizar la asistencia. 

Se registraron sobre 500 sectores o refugios.  Todos utilizaron la página para canalizar peticiones de ayudas y necesidades.  Al final de la página, dice “Una humilde aportación de Javier W. Vélez, Juan Pablo Díaz, Orlando Vélez & Giovanni Collazo. Esta página es un esfuerzo ciudadano y no tiene ninguna relación con el gobierno de Puerto Rico ni el de EEUU.”  Hay que aplaudir el esfuerzo de estas personas y muchos otros que me consta contribuyeron al proyecto.  Pero además, hay que preguntarse:

¿Por qué este modelo no puede ser más efectivo? 

¿Podrá haber un modelo que apoye contribuciones cívicas a escala?

Aquí la entrevista:

Giancarlo – Bueno,  ¡vamos al grano!  Son muchas las aportaciones que se han hecho por parte de la comunidad cívica de Puerto Rico.  Muchos quizás no conocen el trasfondo, pero desde el 2013 han colaborado con iniciativas como el “Crime Map” y Primer Peso, luego del huracán María apoyaron con el María Tech Brigade y durante el verano del 19’, gracias a ustedes el famoso “chat de Ricky” se podía indexar y buscar. 

¿Qué problemas ustedes se ven resolviendo?

jpadilla (José Padilla) · GitHub

José Padilla – lo que he encontrado que me apasiona de alguna manera es cómo presentar algún tipo de conjunto de datos al público en general de manera efectiva.  Cada persona necesita / debe tener la oportunidad de poder formar sus opiniones de la manera más efectiva y eso envuelve tener todos los datos.  

Veo que fulano le da retweet a mengano y forma su opinión basado en eso, lo que pretendo es que si de alguna manera puedo ayudar que cualquier persona que no tenga el know how pueda tener suficiente información para poder formar mejores opiniones, pues mejor.

Sobre ContratosPR.com, no tengo un fin claro con esto, es una herramienta para que alguien, si está curioso, puede acceder de manera más sencilla la información y formar sus opiniones de mejor forma.  Si ayuda al usuario en esto, pues hice mi trabajo.

Es muy interesante ver cómo tu motivación tiene al usuario en el centro.  Este no es el caso con muchos sistemas de gobierno. 

El problema que veo es que el consultor en muchos casos hace lo menos posible para complir con su contrato.  Pueden poner los datos a disposición de la forma más ‘rough y rápida posible’ porque ‘what is in it for them really?’.

La única forma que funciona actualmente el Registro del Contralor es si la persona sabe buscar lo que está buscando.  ¿Qué pasa si alguien quiere ver patrones de irregularidad?  Quiere indagar más en detalle, esto es más difícil.  Este ha sido el norte con contratospr.

Froilan Irizarry – Medium

Froilán Irizarry – Hay que ayudar a que la ciudadanía pueda obtener los datos y consumirlos por su cuenta.  Aunque esto es una meta, tiene dos fines importantes:

  1. Fiscalizción de datos – lo vimos en María con los informes de fallecidos y ahora lo vemos con el COVID-19.
  2. La importancia del historial – las datos si los ves al momento, no te cuentan nada, sólo ves el momento.    

Hoy a la tarde pueden haber 1,000 personas sin luz, 500 muertes o 400 nuevos casos de COVID, pero el tú tener la data histórica, te cuenta algo.  Muchas veces nos damos cuenta que personas en poder y queriendo controlar narrativas no quieren que se vea la historia.  Hay que educar al pueblo a tener la concepción de querer la historia. 

Por otro lado, vemos jefes de agencia y organizaciones con intereses económicamente en el gobierno tirar ciertas excusas de por qué cuesta una cantidad hacer X proyecto y por qué está fallando.  Las excusas siempre son las mismas: No pudimos probar, poco tiempo, etc.  Aunque esto es cierto, si algo nos enseñó healthcare.gov, es que le pueden tirar todo el dinero del mundo a un proyecto y si no se lleva bien, va a fallar.

Mira las excusas con el PUA – “no esperábamos que llegara tanta gente” dicen.  Bueno, pues algo que nos gusta hacer es demostrar que con muchos voluntarios y 3 días nosotros montamos suministrospr.com que NUNCA se cayó.  Tuvo un uso bien alto y nunca se cayó.

ContratosPR.com trabaja con múltiples gigas de data, hacemos scraping, y nunca se ha caído. En cuestión de uso, no se ha caído.

¿Cómo va el tráfico de ContratosPR.com?

Jose Padilla – Los últimos 28 días tiene unos 3 mil active users.   A cada rato veo que alguien me hace mention en twitter y un screenshot de la página.  

¿Cuánto ha costado ContratosPR.com?  ¿Tiene fondos?

Froilán Irizarry – Ha sido mayormente José aportando de su tiempo por los pasados 10 meses. En los últimos tres meses, el programa LatinX de GitHub, nos ha pagado la mensualidad de los gastos.  La cuenta de @codeforpuertorico hace un ‘tuit’ de los estados financieros y eso se reembolsa.

¿En qué tecnología está hecho?

José Padilla – El back-end es python / django.  La base de datos es Postgres y el front-end es NextJS.  Todo esta ‘hosted’ en Heroku.  

Para el ‘non-techie’ que me lee, Python es un lenguaje de programación y Django es un framework que facilita desplegar código en ese lenguaje.  

Postgres es una base de datos abierta y NextJS es un lenguaje de javascript para diseño de interfaz.  Heroku provee la infraestructura de resguardo, es decir, como Azure o AWS. 

¿Cuál es la mayor diferencia entre esto y la búsqueda en el registro de la contralor?

José Padilla – Nosotros estamos cambiando funcionalidades casi invisibles en la página del contralor.  Cómo haces la búsqueda, que puedas escribir en un sólo campo y te muestran resultados.  Cómo mostramos los resultados.  Cómo llamamos al ‘back-end’ para poder extraer esa información. 

Después que hicimos esto ellos añadieron los informes en CSV (comma separated values) de años fiscales pero no tienen toda la información que tiene el API (interfaz aplicativa de programación) así que sin toda la información no se pueden hacer los entrelaces entre entidad gubernamental con un contratista.  Es decir, por categorías y tipos de servicios es difícil indexar los contratos porque al CSV le faltan más datos.  Me gustaría poderlos usar pero no están completos.

Froilán Irizarry – El CSV tiene número de la entidad, contrato, enmienda, cuando otorgado, vigencia, tipo de servicio, categoría, cancelado, cuantía y contratista.  El problema de tener esto así es que si, puedes filtrar por nombre, pero no hay una manera de tu ver la data cruda y decir “juanito trucupey” si lo veo de nuevo, ¿es otra persona o el mismo contratista? Sin un unique ID por contratista, como se que un tal José Rivera si aparece 5 veces,  ¿es el mismo José Rivera?

jpadilla (José Padilla) · GitHub

José Padilla – En las entidades de ‘contratistas’ sale el mismo contratista tres veces y puede salir como contratista diferente.  No podemos asumir que es la misma persona.  Tu buscas Microsoft y nosotros no podemos asumir y agrupar que todos son el mismo contratista porque el nombre es el mismo.  Esto es SÚPER limitante y se puede resolver ya sea desde el propio Contralor o cruzando con otros datos.  

Por ejemplo la data del registro de comerciante o ‘open corporates’ buscan otras empresas y luego usan esa data para hacer la comparación.  Esto es parte del rompecabezas pero contratospr no se debe meter en esto.

Aquí se ve nuevamente la importancia de tener plataformas comunes.  El registro de corporaciones del Departamento de Estado debería proveer un API para que se consuma por el Registro del Contralor al registrar un contrato nuevo y relacionarlo a la corporación registrada.    

Froilán Irizarry – Vamos con otro ejemplo, buscamos KOI y aparecen 10 koi distintos.  Koi LLC, Koi Americas, etc.  Esto no solo es problemático para saber si son varias empresas o que, pero demuestra el ‘underlying problem’ donde no hay buen manejo de data a ningún nivel.  No hay una base de datos para entrar datos de una manera particular.  Todos deben entrar el registro de UNA SOLA MANERA.  

Esto me recuerda el famoso “registro de cabilderos” que se le asignó al Departamento de Justicia.  Hace más sentido que esto resida en el contralor y de una vez, se asocie a los contratistas y sus contratos.  

Froilan Irizarry – Medium

Froilán Irizarry – Es que si se creara la infraestructura necesaria para manejar datos correctamente, no hace ni falta un ‘registro de cabilderos’.  Si tienes cabilderos registrados en el Departamento de Estado, no hay razón por la cual el departamento no tenga un API para que las agencias del gobierno consuman UNA SOLA FUENTE verdadera de la data.   

Entonces dicen “ok, tu vas a reportar las cosas que tu has hecho” tu tienes una página X de la entidad que hizo contratista Y, que consume ese API, tienes la lista del contratista registrado y el contralor consume el mismo API del Dept de Estado.  EL gobierno tiene un solo source of truth donde esta la misma data consumiendo todo.  Esto ayudaría muchísimo a desarrollar mejores herramientas de información. 

¿Trabajarían esto con el gobierno? ¿Quisieran que les escriban y les hablen?

jpadilla (José Padilla) · GitHub

José Padilla – No quiero tener que dedicarle tanto a esto.  Como grupo, como individuos, nosotros tenemos algo claro que aportar, estoy dispuesto a tener conversaciones y hablar más, pero no es nuestro deber mantener esto por los próximos años.  Esto fue nuestro deber cívico y aportación pero esto es un servicio esencial que el gobierno debe proveer.

¿Cómo esto puede ser una oportunidad?

Froilan Irizarry – Medium

Froilán Irizarryel mundo entero corre sobre open source.  El gobierno federal y los estatales se han comprometido al código abierto para bajar costos y tener mejor fiscalización.  Contratos PR puede evolucionar de esta manera:

El Gobierno debe agarrar este código, y encargarse de la parte operacional, ser custodio de esta data y hacerla disponible.  Nosotros podemos apagar el servicio y sólo ser custodios del código.  No tienen que hacer una plataforma, se ahorran este dinero, proveen un servicio útil para otros y cuando ellos hagan su contrato, pueden decir “Existe esa plataforma la estamos usando si vamos a hacer cambios es sobre lo que existe aquí y que contribuya de vuelta a la plataforma.”

Si se hace algo con dinero de contribuyentes esto debe de ser público.  Una buena manera es interactuar con comunidades que están haciendo estos proyectos.  Luego puede llegar otra persona y decir “yo puedo hacer eso” y entonces estás inyectando trabajo con una comunidad que está comprometida en hacer algo.  Hay que hacer proceso de registro para que contribuya pero abarata costo.  

Viajemos un año hacia el futuro, ¿Cómo ven ContratosPR.com?

José Padilla – Yo quiero apagarlo y que el gobierno provea algo que supla esta necesidad.  El ultimate “FUCK this is AWESOME” es que esto se atienda por el gobierno.  

De los sobre 30 millones en licencias que el gobierno gasta anualmente, cuanto creen que hace falta para suplan esta necesidad y cualquier otra de servicio al ciudadano?

Microsoft

Ambos – CERO. 

Elabora  Froilán: no hay que pagar nada, inclusive utilizando herramientas de Microsoft si les da la gana.  Está dotNET open source y VS code.  En herramientas para desarrollo, CERO.  

¿Cuánto cuesta ContratosPR al mes?

José Padilla – Consume menos de $80 al mes y la mayoría de ese costo es base de datos. Y son $80 al mes porque “somos vagos” y usamos Heroku, pero podría ser $20 si le dedicamos unas cuantas horas adicionales y lo subimos a AWS.  Pero no tenemos más tiempo para hacerlo más óptimo.  

La Junta de Control Fiscal en su último plan fiscal resalta que los costos en la nube bajo el contrato de Microsoft “are spiraling out of control.” 

José Padilla – No se cuanto es la mensualidad, seguramente corre en sql server , tienen par de VM’s de Windows arriba y con todo y eso, la página se cae.  

Froilán Irizarry – Si haces un blank search y vas a la última página, da un error.  Están paginando mal.  Lo que nosotros hicimos, con la misma data y sin licencias, muestra lo mismo y no da errores de paginación. 

¿Cómo podemos empoderar más las aportaciones de la comunidad cívica-digital?

Froilán Irizarry – hay muchas más personas que están dispuestas en ayudar y trabajar en estos problemas.  Mucho más de lo que uno cree.  Para hacer esto posible necesitamos apoyo de las entidades que contienen la data y los servicios.  Se necesita una infraestructura pública tanto cívica como de gobierno, para que estas personas cuando entren a ayudar no tengan que reinventar la rueda y se sepa que es el ‘source of truth’ – que es verídico?  Tienen que estar trabajando con el source de los datos.  Es bien importante cuando uno hace estos trabajos.  Si los gobiernos, a nivel central y municipal, usan los múltiples playbooks que hay como de USDS y UK e inclusive del de empresas privadas como AdHoc y en vez de hacer páginas hacen infraestructura van a poder:

  • Reducir costos y ser proveedores de plataformas
  • Aumentan la participación de personas que quieren ser voluntarios
  • Aumentarías el impacto económico que puedes tener pq corporaciones más pequeñas pueden tomar proyectos más pequeños pq ya provees la plataforma
  • Puedes tener un contratista que maneje la plataforma pero algo como Status.PR puede ser un ‘dev shop’ pequeño o inclusive con estudiantes haciendo un ‘capstone’.  No hace falta mucho manpower para sacarlo y hacerlo funcional.

José Padilla – Tengo que darle las gracias a Froi por revivir Code4PuertoRico – lo que hubiera querido que pasara años atrás, una oportunidad para desarrollar algo que es de bien para otras personas,  ¡que se una un  corillo de gente para ‘make it happen’ está ocurriendo y creo que eso es impresionante y bueno!

Para leer más sobre temas de digitalización en Puerto Rico:

Toda iniciativa ambiciosa necesita una hoja de ruta.