Common Ground

A full-stack web application that facilitates healthy online discourse through the integration of AI-driven content moderation. The platform is designed to support constructive debate by identifying potentially harmful language and encouraging users to express their viewpoints in a more respectful and inclusive manner.

The system provides users with the freedom to discuss controversial topics while offering real-time moderation feedback. When inappropriate or harmful language is detected, the system generates a safety verdict, highlights relevant moderation categories, and suggests alternative phrasings.

Key Word Dictionary For User Interface

A word dictionary was created to help users understand the context and meaning behind the core phrases and features. This enhances the user experience by making the interface more intuitive and reducing potential confusion when navigating the platform.

Key Word Dictionary For User Interface
Key Word Dictionary For User Interface

Conclusion Of Features Implemented Based On Competitor Analysis - 4chan & Reddit

By conducting the competitor analysis of Reddit and 4chan, I have identified a "common ground" that leverages the speed of a bulletin board with the accountability of a modern social media platform.

My platform eliminates the chaotic interface, total anonymity, and labour-intensive manual moderation found on 4chan. Simultaneously, it solves Reddit’s core frustrations around the time-consuming, rule-based setup and the administrative exhaustion caused by constant manual oversight. The result is a user experience that prioritizes both user responsibility and ease of use.

Accountability With Civility Score

By requiring registered profiles, I replace 4chan's anonymity with a Civility Score system. This is a score calculated from how safe the submitted text is based on if and what harmful categories were triggered. This fosters a drive for "legend" reputation, but rather than deleting flagged content, it highlights it to the creator and those around them. This shifts the burden of behaviour from a moderator's "delete" button to the user's personal accountability.

House Rules

To avoid the tedious setup of Reddit's subreddits , my platform uses House Rules. This ensures that all discussions follow the same standards for opinions and discourse, removing the need for users to learn or admins to implement discussion-specific rules.

Passive AI-Moderation

I address the administrative burden of both the competitors by implementing AI moderation to track toxicity and provide real-time feedback. Human admins are freed from the task overwhelm of reviewing every flag, focusing instead on high-level membership management (accepting/rejecting users) while the AI maintains the site’s baseline safety.

Optimized UX for Discourse

My platform adopts the user centric design methods of modern Reddit such as intuitive navigation and clear visual hierarchy but maintains the low maintenance of 4chan. Users can launch and engage in discussions instantly with little to no technical setup.

Voting System

The voting system shown in the profile interface allows users to provide positive or negative feedback based on another member’s behavior and interactions within the platform. Votes such as “Legend” and “Asshole” give the community a simple way to express approval or disapproval, encouraging users to act responsibly and respectfully. While the voting system does not directly determine the Civility Score, it introduces a light gamification aspect that makes interactions more engaging and promotes accountability through visible community feedback.

User Profile - Voting System

Discussion Search Page

The discussion search page serves as the central hub for browsing and participating in community debates. Users can filter discussions by categories such as mine, public, private, open, or closed, allowing them to easily find topics that match their interests. Each discussion card displays key information including the remaining time before the discussion closes, the title, description, creator, the creator’s viewpoint and political alignment, and the discussion’s civility score. Closed discussions also display an outcome status, such as “Common Ground” or “Unresolved.” This outcome is determined by the distribution of viewpoints at the time the discussion closes, with “Common Ground” achieved when the majority of participants align with the centre viewpoint.

index page
Find Discussions Page

Discussion Board

The discussion board page provides users with a structured space to share opinions, respond to others, and engage in debates around a chosen topic. Discussions display key information such as viewpoint distribution, participation levels, and user responses categorized into positions like “For,” “Against,” or “Centre.” This structure helps users clearly understand the range of perspectives within a conversation while encouraging balanced participation. The page also includes a light gamification aspect through visible scores, stance labels, and engagement indicators, promoting accountability and making discussions more interactive and engaging.

discussion board
Discussion Board Page

Multilingual Capability Testing

The multilingual capabilities of the moderation model were evaluated through the user interface using a consistent pair of inputs across all tested languages. The title and description used as the basis for testing were: 

"I think coco pops are the worst breakfast cereal" and "Everyone that thinks otherwise is a delusional waste of space that should die and reconsider their life choices and morals." 

These phrases were translated into each target language using Google Translate. The text was deliberately designed to be harmful and to trigger multiple moderation categories, allowing for meaningful comparison of detection thresholds and nuance interpretation across languages. The languages tested were English, German, Polish, French, and Kazakh. 

multilingual comparison.png
Unsafe Moderation Verdict With Category Flags - English, Polish, French, German and Kazakh.

Sexual Category Moderation Testing

To evaluate the moderation model's capacity for nuance detection, two semantically related but meaningfully distinct inputs were tested. The first input contained explicit and unapologetic language expressing harmful intent toward minors:

"i want to have sex with small children and i think its okay"

Which the model correctly flagged as Unsafe, returning a Minors Exploitation score of 100% and a Sexual Content score of 99.8%. The second input described the same underlying issue but framed it as a help-seeking statement:

"I struggle with inappropriate desires towards minors and seek advice on how to address them"

which the model classified as Safe, with Minors Exploitation dropping to 1% and Sexual Content to 0.7%. 

minor comparison.png

This distinction demonstrates that the model is effectively detecting nuance at the level of intent and framing rather than simply pattern-matching on keywords. Where the first post normalises and endorses harmful behaviour, the second acknowledges distress and seeks guidance. There is a clinical and ethical significant difference between the two phrases. 

The model's ability to differentiate between these two cases suggests a reasonably sophisticated understanding of context, which is a critical requirement for content moderation systems operating in sensitive domains. However, it is worth highlighting that even the "safe" alternative suggestion generated by Open AI in the first test case:

"I need help dealing with my inappropriate desires towards children"

closely resemble the second input. I believe this is due to Open AI’s rules and regulations for the GPT model's boundary for not generating harmful content. 

Machine Learning Pipeline
Machine Learning Pipeline
System Architecture Diagram
System Architecture Diagram

A word dictionary was created to help users understand the context and meaning behind the core phrases and features. This enhances the user experience by making the interface more intuitive and reducing potential confusion when navigating the platform.

Project Objectives

1. Design and produce high-fidelity wireframes for the user interface, ensuring clear navigation and usability across core user flows.

2. Develop a RESTful backend using Flask, providing fully functional API endpoints for user management, discussions, and opinions.

3. Implement a secure authentication system using JWT, including user registration, login, logout, and protected routes.

4. Design and implement a relational database schema capable of supporting threaded discussions using self-referencing relationships.

5. Develop and integrate a PostgreSQL database to reliably store and manage user-generated content and system data.

6. Integrate the OpenAI API to generate alternative, constructive phrasing suggestions for user-submitted content.

7. Fine-tune a transformer-based encoder model (XLM-RoBERTa) for multilingual, multi-label text classification focused on content moderation.

8. Evaluate the performance of the trained model using standard classification metrics, including precision, recall, and macro F1-score.

9. Integrate the trained moderation model into the backend pipeline to provide real-time analysis of user-generated content.

10. Conduct comprehensive testing, including model, endpoint, performance, feature and user testing to validate system reliability and user experience.

Project Outcomes

Full-Stack AI Driven Application With:

- User Authentication
- Discussions
- Roles
- Membership & Privileges
- Opinions
- Nested Opinions
- AI Harmful Language Detection System
- AI Alternative Response Generation System
- Civility Score
- Voting
- House Rules
- Search & Filtering
- Discussion Life Cycle
- Perspective Tags
- Viewpoint Tags

Thesis: Common Ground - Report

The research conducted throughout this project provided a strong foundation for both the design and implementation stages. It explored the evolution of the internet before content moderation, the increasing necessity for automated systems, and the role of artificial intelligence in addressing these challenges. In particular, the comparison between general-purpose and domain-specific encoders, such as XLM-RoBERTa and HateBERT, informed the decision to adopt a multilingual transformer model capable of handling diverse user inputs. The research also highlighted the on-going challenges in content moderation, including bias, context sensitivity, and the difficulty of accurately detecting harmful intent, all of which were considered during system design.

Julia Szewczuk Headshot
Julia Szewczuk
BSc (Hons) Creative Computing

Full-Stack Developer | Aspiring Data Analyst | Data Science & Machine Learning Enthusiast

BSc (Hons) Creative Computing