After four and a half years, I’ve permanently closed the comments section in London Bus Pal. This decision wasn’t made lightly, but it was long overdue. Here’s the story of how a simple feature became a nightmare, and why closing it feels like such a relief.
The beginning: a simple idea
I wrote the first line of code for the comments functionality in December 2020 with a straightforward goal: give users an organised space to share useful information about buses that wasn’t available elsewhere in the app. The first comment appeared in February 2021, and we had just three comments that entire month. March brought four more.
As usage grew, I noticed the interface wasn’t ideal, so I found a neat chat library to make commenting easier. This was my first mistake. What I intended as an improvement, users interpreted as an invitation to actually chat. Despite my repeated requests to keep discussions focussed on transport information, several people ignored these guidelines entirely. I would come in to see walls of text about homework and school and when I demoed the app to others, I would specifically ask them to not go near the comments-section.
The Monster I Created
What started as a helpful feature quickly spiralled into something I never intended to build. Users began treating the app like a social media platform, posting anything that came to mind rather than focussing on useful information for other people using the app.
The abuse was immediate and persistent. I found myself constantly building new systems to combat it:
- Comment reporting functionality
- User muting and banning systems
- Toxic behaviour detection
- Profanity filters
- Increasingly sophisticated moderation tools
Each improvement seemed to invite new forms of abuse, creating an endless cycle of development just to maintain basic civility.
The Moderation Challenge
When things became unmanageable, ial6658 reached out to me offering to help with moderation. I was incredibly grateful and worked with him to get started. My crude initial tools meant I was constantly fishing around in databases, handling everything manually. I spent significant time building proper moderation interfaces just to onboard him.
Soon the team grew: VT and c1taro joined ial6658, followed by hdg. More recently, LS69, dantv102, and GodwinTransit were made moderators, largely based on their exemplary behaviour in the app. These volunteers will continue their invaluable work moderating Discord, photos, and suggestions.
Even with dedicated moderators enforcing the rules, I received several complaints about them “being rude” – for simply doing their job. The irony was infuriating: people were angry at moderators for maintaining the standards that kept the platform usable for everyone else.
Unsung Heroes
I cannot express enough gratitude to these people. They didn’t always have the appropriate tools, but made things work as best they could. The best analogy I can think of is asking someone to clean up a beach after a huge party – dealing with loads of rubbish scattered everywhere – but only giving them a small shopping bag to work with.
These moderators were the unsung heroes that users often took for granted. People didn’t see the countless hours and effort they put in trying to bring civility to an increasingly chaotic situation. They endured many stressful moments: bans that wouldn’t take effect immediately, complete mob mentality during the worst moments and constant cleanup of inappropriate content.
I am deeply thankful for their dedication and look forward to continuing to work with this exceptional team on the features that truly matter to London Bus Pal’s future.
Safety Concerns
Perhaps most alarming were the safety issues. Multiple users posted their home addresses in the app (why?!?!?!) or where they were going to school. I tried to use these incidents as teaching moments about online safety, but it became overwhelming. I wasn’t qualified to be an online safety educator for dozens of children, nor did I want that responsibility.
The Final Straw
One user epitomised everything wrong with the system. After displaying consistently unsafe behaviour – posting school details and personal information online – he was banned. This should have been the end of it.
Instead, it became harassment. He created twelve fake accounts that I’m aware of, each time finding new ways to circumvent the systems I’d built. No amount of intervention helped. What started as unsafe behaviour evolved into direct harassment of myself and the moderators.
This past Bank Holiday Monday, he bypassed yet another ban to post more disruptive content. I spent my entire holiday dealing with this one user. It was then I seriously considered closing the comments section entirely.
The Survey and Final Decision
I ran a survey to gauge user opinion, which provided valuable insights – mostly very supportive, but of course, along with the expected abuse. It became clear I was attracting exactly the wrong crowd: people who thrived on negative attention rather than those who appreciated the effort put into the app.
Like a character from a horror movie you can’t escape, on the morning of May 28th, 2025, he reappeared again. His messages – “this time I will be good” and references to his Monday alias “deserving to be banned” – proved he was taunting us. Only he, the moderators, and I knew about that specific ban.
Shortly before 1pm that day, I pulled the plug forever.
Lessons learned
This experiment taught me valuable lessons, though not ones I’d want to repeat:
- Feature scope matters: What seems like a simple addition can fundamentally change your app’s purpose
- Community management is a full-time job: One I never wanted
- 1% of users consumed 80% of my development time: The maths simply didn’t work
- Some users will never respect boundaries: No amount of technology can fix behavioural problems
- It wasn’t all bad: There’s still a community we created from this, it was just in the wrong place
Moving forward
Closing the comments section brings incredible relief. I have my weekends back. I can sleep peacefully without worrying about who might post unsafe information online. The constant context switching between development and moderation is over.
I can now focus entirely on what London Bus Pal was always meant to be: the most reliable source of London transport information. The tens of thousands of users who understand how to behave appropriately online deserve an app developer who isn’t constantly distracted by managing a tiny minority of problematic users.
For those who enjoyed the community aspect, our Discord server remains active – a platform actually designed for the conversations that were happening in my transport app.
Final thoughts
I should have made this decision long ago. Sometimes the hardest part of building software isn’t the technical challenges – it’s knowing when to stop. The comments section taught me that not every user request should be fulfilled, not every feature should exist, and sometimes the best decision for your product is saying “no” to functionality that doesn’t serve your core mission.
This chapter is closed. The experiment is over. And honestly? It feels fantastic.
Disclaimer: I wrote this myself, but got AI to help a bit with structure and clarity