Back to portfolio

KlimaatWijzer

1 / 4

The project

Our project with KlimaatWijzer aimed to solve the limitations of the existing educational platform, which was basic in structure and relied heavily on personal networks for publishing climate-related teaching materials manually. Changes where necessary as secondary school teachers struggled to find relevant materials quickly due to the unintuitive user interface and lack of effective filtering and search options. Concurrently, there was no structured or visible digital channel for external contributors to submit new climate education materials, creating severe content management inefficiencies and reduced accessibility.

To solve this the new platform provides a clearly visible search bar and advanced filtering options on the homepage, allowing teachers to browse resources organized by specific educational subjects, levels, and predefined thematic categories. For external contributors, it introduces a guided multi-step submission form to upload complete teaching materials and securely track their review status. Submitted materials flow into an automated review pipeline where authorized reviewers evaluate them using multi-criteria forms. Approved items are then automatically published to the website, trigger email notifications to contributors, and restrict access safely via role-based authentication.

Our solution, updated website, introduces a highly structured, automated, and scalable digital workflow that reduces the administrative labour of manual content management for the client. For teachers, it allows easier access to reliable climate education into secondary school curricula by enabling rapid and intuitive resource search. For external contributors, it offers total transparency over the submission process, expanding the platform’s collaborative network and adding to the volume of quality-controlled resources available to the community.

If we want a sustainable future, we have to start by giving teachers a sustainable way to share knowledge.

The customer

The main client is Klimaatwijzer as an organization and our primary client contact person was Joeri Reinders, an Assistant Professor of Climate and Earth Science at Leiden University College (LUC). He coordinates and leads Klimaatwijzer, this educational initiative aimed at connecting academic climate expertise with reliable resources for Dutch secondary education.

Communication was continuous and highly iterative throughout the project. The team engaged in regular meetings with the client to understand requirements, we presented incremental feature deliveries across seven Scrum sprints, and gathered feedback to clarify evolving workflow states, the reviewer dashboards, and content migration criteria.

Evolving requirements are like climate change, unpredictable, but we adapted successfully!

The team

The team was structured around formal Scrum roles to manage the project complexity. Livia Doupovcová served as the Product Owner, maintaining and strictly prioritizing the product backlog and interfacing with the client. Lei Wang served as the Scrum Master, facilitating sprint rituals and ensuring the Scrum principles. The remaining team members, Antía Alonso Cancela, Jiajia Xu, Mossaab Aouaragh, and Vijas Lachmon, acted as core frontend and backend developers, dividing the different sections accross the project, such as the materials and submissions modules.

Work was divided across specialized frontend and backend domains using feature branches in Git, combined with a strictly prioritized product backlog on a collaborative GitHub Project Board. Frontend developers focused on UI layouts, Wagtail editability, and responsive templates , while backend developers designed database migrations, built models, and established the core Materials API. Progress was evaluated through continuous cross-role code reviews before merging into the main branch.

The team overcame significant integration issues when connecting multiple independent user roles (teachers, contributors, reviewers, administrators) with complex workflow states, which required more development effort than initially anticipated. We also adjusted mid-project to ensure the evolving client requirements and successfully renovated the database to migrate the historical client datasets into our live environment without disrupting the existing search functionalities.

The team is most proud of delivering a completely cohesive, high-quality end-to-end web platform that seamlessly unifies submission, review, automated publication, and administrative workflows. These successfully move the client away from manual network-based publishing to a robust, fully operational, role-restricted digital eco-system verified with real-world client data.

Making climate education easier is our small contribution to helping the next generation understand a changing world.

The technologies

Languages

  • HTML, CSS, JavaScript: Frontend implementation, user interfaces, responsive layouts, and visual style alignment.
  • Python (3.12): Backend development, API architectures, logic structures, and core automated testing.

Frameworks and Libraries

  • Django: The foundational web framework utilized to build the backend logic, model databases, and handle route definitions.
  • Wagtail CMS: Integrated to manage structured content, role-based access control, editable pages, and media libraries.

Tooling

  • Flake8: Used for static code analysis, identifying pythonic style violations, and potential errors during the CI pipeline.
  • GitHub Actions: Configured to manage continuous integration by executing automated Django tests on all push events and pull requests.
  • SQLite: Used as a lightweight, efficient database solution inside the automated testing environment.

Deployment

  • PostgreSQL: Serves as the primary object-relational database management system in production.
  • Supabase / Shell script (runlocal.sh): Utilized for setting up standardized local developer environments and executing migrations rapidly across the distributed team