> Markdown version of [/videos/1645-coding-for-good-achieving-social-change-with-an-app?t=5](https://www.wearedevelopers.com/videos/1645-coding-for-good-achieving-social-change-with-an-app?t=5). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Coding for Good: Achieving social change with an app In 2012, a hastily built PHP app crashed under massive load but ultimately helped legalize UK same-sex marriage. Learn why developers must ditch perfectionism to drive social change. - **Speakers:** [Chris Ward](https://www.wearedevelopers.com/@chris-ward) - **Event:** World Congress 2025 - **Published:** August 20, 2025 - **Duration:** 22:35 - **URL:** https://www.wearedevelopers.com/videos/1645-coding-for-good-achieving-social-change-with-an-app ## Summary Chris shares a compelling story illustrating how a single software application, no matter how scrappy, can intimately alter the course of history. Back in 2012, as the UK debated legalizing same-sex marriage, the pivotal bill faced a conservative blockade in the unelected House of Lords. To empower citizens to voice their opinions, Chris hurriedly built a lobbying web app in just a week, relying on a basic PHP REST API, jQuery, and a modest MySQL database deployed on dirt-cheap hosting. What started with a modest goal of 200 users skyrocketed when high-profile figures championed the tool, briefly crashing the server but ultimately driving the overwhelming grassroots pressure needed to defeat opposition amendments and force the legislation through. The core lesson from this accidental success is that developers must resist the perfectionism trap. Waiting to build out scalable architecture or pristine code often prevents a viable product from ever shipping. Instead, creators should act pragmatically and "do what works because success is a great problem to have." When the initial architecture broke under unexpected load, rapid patches—like queuing outgoing emails in MySQL using a simple background console application—kept the mission alive. Crucially, the code itself didn't orchestrate social change; it just "built the roads" for an engaged public willing to share highly personal, emotive appeals with remote legislators. Ultimately, software engineering skills offer profound leverage well outside the traditional corporate tech landscape. Despite growing industry cynicism regarding AI ethics and platform toxicity, software remains an incredibly potent tool for democratization. By prioritizing simple user experiences, leaning into resonant human narratives, and acknowledging the undeniable element of luck, developers can wield their technical gifts to amplify marginalized voices, drive civic reform, and tangibly improve their communities. **Keywords:** digital activism software, civic tech development, rapid web app prototyping, overcoming developer perfectionism, grassroots lobbying tools, scalable database email queuing, unexpected server load management, legislative advocacy applications, software developer volunteering, tech industry social impact, rapid backend API deployment, democratizing civic engagement, PHP and MySQL hosting challenges, social impact programming ## Chapters 1. **Balancing a tech career with grassroots social activism** (00:05) — Embracing incremental problem solving over large disruptive acts proves that single developers can drive systemic change. 1. **Navigating political opposition regarding equal rights legislation** (02:42) — Acknowledging institutional legislative opposition helps grassroots software activists anticipate intense backlash from deeply entrenched social conventions. 1. **Developing a specialized web tool to pressure politicians** (05:00) — Engineering a specific web directory empowers frustrated internet users to directly target untraceable politicians for reform. 1. **Deploying a rapid software prototype to meet activist deadlines** (06:30) — Combining accessible minimal tech stacks with fast iteration times bypasses systemic resource constraints to solve tasks. 1. **Managing production traffic spikes and mitigating server downtime** (07:45) — Utilizing background asynchronous queuing immediately rescues simple email servers from catastrophic failure during massive viral traffic. 1. **Defeating restrictive legislation through scalable public digital advocacy** (09:30) — Funneling thousands of individual digital submissions creates real physical lobbying force against regressive governmental voting initiatives. 1. **Designing civic software that prioritizes frictionless user completion** (11:55) — Creating exceptionally narrow task funnels prevents casual distracted visitors from abandoning web interfaces without contributing action. 1. **Acknowledging unpredictable luck and chance in project adoption** (14:11) — Accepting the unpredictable nature of software growth reduces the sting of failure and gives needed perspective. 1. **Crafting empathetic content narratives to convert digital bystanders** (15:02) — Replacing generic platform slogans with raw personal statements drives passive digital bystanders to eagerly contribute content. 1. **Overcoming technical perfectionism to ship crucial public utilities** (17:28) — Abandoning unnecessary architectural rewrites empowers solitary web engineers to rapidly supply functional platforms when needed most. 1. **Addressing industry tech cynicism by securing vulnerable populations** (18:43) — Applying standard programming practices towards dedicated unifying social spaces perfectly neutralizes overwhelming tech pessimism. ## Related Moments - [Stepping up as developers of democracy and society](https://www.wearedevelopers.com/videos/963-opening-keynote-civic-coding-a-framework-for-democratic-tech) (from "Opening Keynote: Civic Coding, A Framework for Democratic Tech") - [Optimism and the creative appeal of building software](https://www.wearedevelopers.com/videos/915-coffee-with-developers-saron-yitbarek) (from "Coffee with Developers - Saron Yitbarek") - [Defining civic code and democratic responsibility in technology](https://www.wearedevelopers.com/videos/963-opening-keynote-civic-coding-a-framework-for-democratic-tech) (from "Opening Keynote: Civic Coding, A Framework for Democratic Tech") - [The ethical and civic responsibilities of software engineers](https://www.wearedevelopers.com/videos/1108-the-impact-of-technology-on-democracy) (from "The Impact of Technology on Democracy") - [Building free software for charities through developer volunteer initiatives](https://www.wearedevelopers.com/videos/166-local-development-techniques-with-kubernetes) (from "Local Development Techniques with Kubernetes") - [Prioritizing societal impact and responsibility in software development](https://www.wearedevelopers.com/videos/100041-responsibility-beyond-code-build-with-societal-impact-in-mind) (from "Responsibility Beyond Code - Build with Societal Impact In Mind") ## Related Articles - [Navigating the AI Shift](https://www.wearedevelopers.com/magazine/629-navigating-the-ai-shift) - [Developers vs Scammers, Bad Design, AI is Pointless, AJAX is 20 and more - The Best of LIVE 2025 - Part 1](https://www.wearedevelopers.com/magazine/661-developers-vs-scammers-bad-design-ai-is-pointless-ajax-is-20-and-more-the-best-of-live-2025-part-1) - [Exploring AI: Opportunities and Risks for Developers](https://www.wearedevelopers.com/magazine/522-exploring-ai-opportunities-and-risks-for-developers) - [Dev Digest 131 - AI'm not sure about OSS](https://www.wearedevelopers.com/magazine/472-dev-digest-131-ai-m-not-sure-about-oss) ## Related Jobs - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267587-principal-software-engineer) at **Twilio** - [Tribe Lead - ( Software) Engineering Centre of Excllence](https://www.wearedevelopers.com/jobs/ext/1475530-tribe-lead-software-engineering-centre-of-excllence) at **SD Worx** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267591-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/146806-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/115163-principal-software-engineer) at **Twilio**