The Idea
The kernel of Duhbate was simple: what if an argument had structure?
Not a debate club format with judges and podiums — something more casual, more internet-native, but with enough scaffolding that the best response actually wins rather than the most viral one.
The format I landed on has three phases:
- Someone posts a claim — a title, a description, and optionally some sources to back it up.
- The community has 48 hours to submit counter-arguments — and upvote each other's responses. The best rebuttal rises to the top.
- The top counter-argument faces the original claim in a 24-hour final vote. The community decides who made the stronger case.
What I liked about this structure is that it rewards quality at two different moments: first, during the counter-argument phase when peers are evaluating each other's reasoning, and again during the final vote when the broader community weighs in. It's not just about being loud — it's about being persuasive at scale.
The name? A deliberate misspelling. Debate feels formal and stuffy. Duhbate feels like what actually happens when smart people argue on the internet — a little chaotic, a little playful, but ultimately serious about ideas.
What Already Existed (And Why It Wasn't Enough)
Before writing a line of code, I stress-tested the idea against existing platforms.
Reddit's Change My View is the closest spiritual ancestor. It's genuinely great for organic discourse, but it lacks the structured tournament format — there's no mechanism that elevates the single best counterpoint and pits it against the original claim. It's a comment thread, not a duel.
Kialo takes a more rigorous approach — argument mapping, pro/con trees — but the interface is dense and the tone is academic. It requires effort. Duhbate should feel more like a game.
Prediction markets like Polymarket capture the spirit of putting something on the line, but they're about forecasting outcomes, not adjudicating arguments. The epistemics are different.
None of them combined the accessibility of a social platform with the structured resolution I was after. That gap felt real enough to build into.
Building It
I built Duhbate as a Next.js 14 application using the App Router, with Supabase handling authentication, the PostgreSQL database, and row-level security policies. Styling is Tailwind CSS with heavy customization — the visual identity is intentionally a little loud, leaning into a comic book aesthetic with solid borders, drop shadows, and a purple-and-orange color scheme that makes the two sides of a debate feel genuinely opposed.
The database schema ended up with six core tables: debates, counter-arguments, votes, users, reports, and a phase-tracking table that cron jobs hit to advance debates through their lifecycle automatically.
That last part was trickier than expected. Vercel's Hobby tier has constraints around cron job frequency that required some adjustment to the phase transition logic — a good reminder that the gap between "works locally" and "works in production under real constraints" is always wider than you think.
What shipped in the MVP
The core debate loop works end-to-end:
- Authentication — users can sign up, log in, and maintain a persistent identity across sessions
- Debate creation — structured submission with title, description, sources, and word limits to keep things readable
- Counter-argument submission with peer upvoting during the 48-hour window
- Automated phase transitions — debates advance on their own without manual intervention
- Final voting — the top counter-argument faces the original claim in a head-to-head vote
- User profiles with win/loss stats and debate history
- Content reporting so the community can flag things that don't belong
Getting all of that deployed and running — with proper RLS policies, indexed queries, and cron-driven state machines — in a reasonable amount of time felt like a genuine milestone. It's live at duhbate.com.
The Pivot I Almost Didn't Make
Early on, I was drawn to an obvious monetization hook: small-stakes betting on debate outcomes. The logic was clean — if you're confident in your argument, you put something on the line. It creates skin in the game, which makes for more careful reasoning.
But I kept coming back to the same problem: betting mechanics before the core product is validated is a distraction. The regulatory complexity alone would have consumed months of work. More importantly, I didn't actually know yet whether the debate format itself was fun. Building a gambling layer on top of an unproven mechanic felt like the wrong order of operations.
So I stripped it out. The plan now is to validate the format first, add a points-based reputation system once engagement patterns are clear, and revisit real-money mechanics later — if and when they make sense.
That decision made the MVP ship faster and cleaner. Sometimes the best product instinct is knowing what not to build yet.
Where It Stands Now
The platform is live and functional. The debate loop works. The automation holds. The visual identity has personality.
The honest assessment: it's a working skeleton that needs flesh. An empty platform is a hard sell — the chicken-and-egg problem of social products is real, and Duhbate is no exception. Right now I'm focused on three things before any kind of serious push for users:
1. Visual refinement. The "Refined Retro" direction I'm working toward keeps the comic book personality but improves hierarchy and scannability. That means a proper type system — Playfair Display for headlines, DM Sans for body text — refined card layouts, and a retro illustrated mascot named Deb the Duhbater who I'm hoping becomes the face of the brand. The current version has soul; it needs polish.
2. Better discovery. The homepage right now is a flat list of debates. That's fine as a starting point, but it doesn't tell a story about what's happening on the platform. The redesign restructures it into curated sections: Live Now, Trending, Recently Decided, Browse by Category. The categorization system is also expanding from a flat list to a two-tier approach — broad topic areas plus flexible user-created tags.
3. Seeding content. I'm building a set of AI-generated debate personas with different expertise areas and argumentation styles — the kind of thoughtful, substantive debates I want to attract in real life. The implementation uses GitHub Actions so the seeding process doesn't require a local dev environment to run. The goal isn't fake engagement; it's creating enough of a signal for early real users to understand what the platform is for.
What's Coming
After those three foundations are solid, the roadmap looks like this:
A points-based reputation system — XP and reputation scores for winning debates, submitting counter-arguments that get upvoted, and consistent participation. Leaderboards. Streaks. The gamification layer that makes you want to come back.
Deeper analytics — which categories generate the most engagement, what argument structures tend to win, where the community skews in its verdicts. The data inside a debate platform is genuinely interesting if you surface it well.
Eventually, stakes — some form of mechanism for putting something on the line in high-conviction debates. The exact shape of that is TBD and depends heavily on what regulatory and product landscape looks like when we get there.
What I've Learned So Far
A few things that have stuck with me building this:
Structure unlocks quality. The word limit and three-part submission format (title + description + sources) immediately raises the baseline of arguments. It's a small constraint with a big effect.
Automation is a product feature. The fact that debates advance on their own — nobody has to manually close a round — makes the platform feel alive in a way that purely manual systems don't.
The right time to build complexity is after you've validated simplicity. The betting feature would have been interesting. It would also have been a distraction. Shipping the simple version first was right.
Empty is the hardest problem. Every social platform faces this. The solution isn't tricking anyone — it's making sure the first real users arrive into an experience that already feels like something.
I'm building Duhbate in public and thinking out loud about it here. If you want to try it out, place an argument, or tell me why the whole concept is flawed (meta, I know), head to duhbate.com.
The best counter-arguments get upvoted. That's the whole point.
Filed under: Side Projects · Product · Building in Public
What did you think?
Share with friends