Open Source Citizen Participation Platform Development at Citizenlab

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.

Open Source Citizen Participation Platform Development at Citizenlab
Company
Citizenlab
Services
Web Development
Technologies
React JS

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.

Open Source Citizen Participation Platform Development at Citizenlab
Open Source Citizen Participation Platform Development at Citizenlab