Open Source Citizen Participation Platform Development at CitizenLab

Client: CitizenLab
Role: Fullstack Engineer
Year: 2021
React
TypeScript
Ruby on Rails
AWS

CitizenLab empowers citizens to interact with their local governments, share ideas, and actively participate in decision-making processes through innovative online platforms.

CitizenLab, established in 2015 and headquartered in Belgium, is at the forefront of fostering civic engagement and participatory democracy. Through innovative online platforms and tools, CitizenLab empowers citizens to interact with their local governments, share ideas, and actively participate in decision-making processes. Their solutions bridge the gap between government institutions and communities, ultimately striving for transparent, inclusive governance.

Organizational Structure

During my tenure at CitizenLab, the company operated under a dynamic organizational structure:

  • Executive Leadership: Led by the co-founders, the executive team oversaw department and team leads.
  • Product & Engineering: Under the guidance of the Chief Technology Officer (CTO), multidisciplinary teams collaborated on different products. The Engagement, Insights, and Workshops teams were responsible for developing and maintaining distinct platforms tailored to civic engagement needs.

The Stack

CitizenLab's technology stack varied across its products:

  • Engagement Product (Core): Leveraging a multi-clustered, multi-tenanted Rails backend hosted on AWS, the platform utilized Terraform for infrastructure management. It featured a JSON:API web API consumed by a React/Typescript client, complemented by internal APIs for administrative tools, emailing, and analytics.
  • Insights Product: This product integrated an in-house NLP service written in Python with Rails and React plugins. It was seamlessly incorporated into the Engagement Platform as a premium feature.
  • Workshops Product: Developed in Phoenix (Elixir) and utilizing Jitsi for live video conferencing, the Workshops product operated independently from the Engagement platform.

My Role

As a Fullstack Engineer within the Engagement team, I played a pivotal role in developing features end-to-end. My responsibilities included collaborating with frontend and backend developers to deliver high-quality solutions. Additionally, I actively participated in team meetings and embraced an engineer-driven approach to problem-solving, contributing to our collective goal of enhancing civic participation.

Key Contributions and Impact

  • Spearheaded the implementation of Shape Up methodology towards the latter part of my tenure, streamlining project scoping and prioritization.
  • Collaborated closely with cross-functional teams during regular meetings, fostering alignment on problem-solving approaches and sharing relevant information.
  • Contributed to the development and enhancement of the Engagement Platform, leveraging Ruby on Rails and React to deliver impactful features that empowered citizens and facilitated transparent governance.