🧠 DebateOPedia — A Blog for Thoughtful Debate

✨ Inspiration

This project was inspired by the growing need for respectful, engaging conversations online. Most platforms either promote shallow engagement or fail to offer a way for users to challenge ideas constructively. I wanted to create a space where people could post blog-style content and invite others to respond thoughtfully or initiate debates, while maintaining a system for moderation and civility.

The idea evolved from my interest in both web development and productive discourse—combining technical implementation with a vision of building better social spaces online.


💡 What It Does

DebateOPedia is a blog web app that encourages meaningful conversation. Admins can post long-form content, while users can:

  • Leave responses to posts
  • Mark their response as a “Debate,” signaling they want a deeper discussion
  • View and manage the debates they’ve initiated
  • Receive visual cues (badges) when someone replies to their debate
  • Set favorite and least favorite tags to tailor their experience

Admins have tools to moderate content, ensuring debates remain respectful.


🛠️ How We Built It

This is a full-stack blog web app built with the following stack:

  • Frontend: React with Tailwind CSS for styling and theme support (light/dark mode)
  • Backend: Supabase for data and authentication
  • Rich Text Editor: Integrated for writing both posts and responses
  • Notification Logic: Placeholder logic for future email notifications using Resend
  • Threaded Replies: Supports responding to both posts and other comments
  • Moderation Tools: Admin interface for deleting inappropriate content

🧑‍💻 User Profile Enhancements

  • Displays debates the user has initiated
  • Shows a badge when one of their debates receives a response
  • Allows users to add/remove favorite and least favorite tags

🚧 Challenges We Ran Into

  • Threaded Conversations
    Structuring the response system to allow replies to both blog posts and other responses was more complex than a flat comment system. I had to update the data model and UI logic accordingly.

  • Badge Notifications
    Creating a system that flags a debate with responses required careful planning—especially to make it scalable and performant.

  • Tag Management UX
    Allowing users to manage favorite/least favorite tags in an intuitive way required experimenting with chip-based inputs and validation.

  • Design Consistency
    Ensuring both light and dark themes worked smoothly with the red/purple color palette took additional time to get right.

  • Building for Future Expansion
    I intentionally structured the logic with placeholders for Resend notifications, ensuring smooth integration down the line without major refactoring.


🏆 Accomplishments We're Proud Of

  • Created a strong user experience around debate-driven content
  • Implemented threaded responses with clean UI and relational logic
  • Built a fully functional light/dark mode toggle with dynamic theming
  • Developed a solid structure for future integrations (email alerts)

📚 What We Learned

  • How to model complex data relationships (threaded replies, user preferences)
  • Techniques for building a scalable moderation system
  • Best practices for theme design and responsiveness with Tailwind
  • Importance of designing for extensibility from the start

🚀 What's Next for DebateOPedia

  • Implement email notifications with Resend when a debate receives a reply
  • Add voting or reaction options to responses
  • Track and clear badge notifications after the user views their debate
  • Introduce additional tag-based filtering and content customization
  • Possibly explore debate leaderboards or user rankings

Built With

Share this project:

Updates