Civic Issue-Reporting Platform for a City
Overview
A civic issue-reporting platform deployed for a city, built on the open-source FixMyStreet codebase, a Perl/PSGI web application that lets residents report local infrastructure problems (potholes, broken lights, etc.) pinned to a map location and routed to the responsible authority.
The Challenge
A city rolling out citizen issue-reporting needs the platform localized into the local language, branded for the municipality, and reliably deployable, work that spans FixMyStreet’s Perl backend, its template system, and a full translation pipeline. The goal was a production civic service, not just a demo.
What We Built
Working within the FixMyStreet architecture: the PSGI app (app.psgi), Perl
library (perllib/), templates, and configuration adapted for the city deployment.
The repo carries a full localization workflow, locale/, a lcl2 regional
variant, and Transifex integration (.tx) for managing translations into the local
language. Operations are containerized (Dockerfile, docker-compose) with a Vagrant
box for local dev and Travis CI plus Cypress for testing.
Technologies & Approach
FixMyStreet’s Perl/Plack stack and template system were extended and configured rather than rebuilt, the right call for a civic platform where reliability and an established issue-routing model matter more than novelty. Effort focused on localization (gettext-style catalogs + Transifex) and reproducible deployment via Docker/Vagrant.
Outcome / Impact
Delivered a localized, branded civic-reporting service for a city, demonstrating the ability to take a large, established open-source platform and localize, containerize, and operate it in production, including non-mainstream stacks (Perl) and full translation pipelines.
Capabilities Demonstrated
- Standing up civic / govtech issue-reporting services for a city
- Customizing and deploying large open-source platforms
- Localization / i18n with Transifex pipelines
- Working in established Perl/PSGI codebases
- Containerized, reproducible deployments (Docker, Vagrant, CI)