🧠 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
Log in or sign up for Devpost to join the conversation.