Inspiration
In light of recent events, the US and the world in general has become more and more divided. We notice the problem arising from how current social media apps are designed
- Present day social media have algorithms that only show the user content that aligns with their beliefs
- Diversified content that is shown is often the most controversial of its kind
- There are zero platforms where people are able to find other people for quick, structures debates
- People seeking for structured debates are often met with people who have no intention of having one
What it does
User Signup/Login
- Standard account creation: username, email, age, full name, and password
- Basic onboarding flow to collect demographic and verification info.
- Ensures user authenticity and allows for accountability in debates.
- Email verification required for security
Political Determination
- Users take a comprehensive political affiliation quiz upon signup.
- Produces an overall liberal–conservative score. Breaks down into subscores: Economics, Foreign Affairs, Social, Cultural, Governance.
- Creates a detailed political profile for precise matchmaking.
MatchMaking
- Users queue up for a debate call when ready.
- Matchmaker pairs a user with someone on the opposite side of the spectrum based on their overall score.
- Example: Someone with -40 gets matched with someone +20 to +40.
- Ensures diverse perspectives and balanced debates.
Topic Selection/AI Integration
- Analyzes the biggest subscore differences between matched users to determine the debate topic area.
- Random topic selection within that subcategory (e.g., Economics).
- Provides an AI-generated fact sheet overview to both users before the debate
Structured Debate
- Turn-based speaking system: only one person may talk at a time.
- Camera-on requirement to humanize the interaction.
- If the camera is turned off during a user’s speaking turn, they’re muted.
- Automatic enforcement of speaking/listening rules to keep debates civil.
- Goal: Foster empathy, discourage trolling, and create a respectful environment.
How we built it
Frontend: Next.js 15, React 19, TypeScript, Tailwind, Zustand, Socket.IO Client
Backend: Node.js, Express 5, Socket.IO 4, OpenAI GPT-4
Database and Auth: Supabase, PostgreSQL
Real-Time Communication: WebRTC, Socket.IO
Challenges we ran into
- Setting up Supabase and user authentication
- Connecting two devices through local network
- Implementation of matchmaking algorithm
- Migrating hard-coded front-end to integrating a back-end
Accomplishments that we're proud of
The main thing that we are proud of is being able to execute our vision of the app. Starting with a simple whiteboard drawing we were able to go from video calls, to landing page, to user authentication and storage, and hopefully more in the future. More specific things are overcoming our challenges with Supabase, and migrating successfully to an actual back-end. Re-adjusting the scope of our project along the way.
What we learned
Technical
- Setting up Supabase
- Using Zustand to manage user info across re-routes
- Establishing peer to peer connection
Non-Technical We learned that sometimes during a short code sprint, like a hack-a-thon, that you may need to abandon certain features you were hoping for to ensure that core features work.
What's next for Bridge
- Call functionality
- AI debate moderator
- Immediate AI Feedback on debate
- Greater Topic Coverage
- Large scale events
Built With
- javascript
- nextjs
- openai
- react
- socket.io
- supabase
- tailwind
- typescript
- webrtc

Log in or sign up for Devpost to join the conversation.