Inspiration
The poll system on Reddit is good, but the was UI getting a little bit repetitive and I also wanted a way to search for interesting questions/polls, which is a bit of hard to search for. I envisioned a more visually stimulating, engaging, and overall easier system to find these type of discussions in certain communities.
What it does
It is a system that transforms hot takes into a more interactive voting experience.
Users can:
- Submit controversial opinions (hot takes) with custom emojis and categories
- Vote on statements using an intuitive 1-10 slider with real-time emoji feedback
- View detailed statistics including vote distributions, temperature scores, and community consensus
- Search and discover hot takes from throughout Reddit communities
- Watch live results with animated charts showing how polarizing each take really is
How we built it
- Frontend: React with TypeScript for component architecture
- Styling: TailwindCSS for responsive design with custom gradients and animations
- Data Visualization: SVG curves and animated bar charts for vote distributions
- Backend API: RESTful endpoints for submitting hot takes, casting votes, and fetching statistics connected with Devvit's integration of Redis
Challenges we ran into
Some challenges that we ran into were:
- Smooth curve rendering: Creating a distribution curve that properly connects bar chart points while staying above all bars, even those with zero votes
- Mobile responsiveness: Designing a horizontal scrolling interface that works seamlessly on small screens while maintaining the side-by-side voting layout
- Calculating real-time statistics: Calculating and animating vote percentages, temperature scores, and role distributions with smooth transitions
Accomplishments that we're proud of
- Having an engaging UI/UX: Created a vibrant, game-like interface that makes voting feel exciting rather than monotonous
- Smooth animations: Implemented animated counters, sliding transitions, and dynamic color schemes based on vote temperature
- Distribution visualization: Built a custom SVG curve overlay that elegantly shows voting distributions and polarization
What we learned
- TypeScript's best practices for type-safe React components with complex state management
- SVG path manipulation for creating smooth Bezier curves in data visualization
- Using Devvit's Redis integration for real-time updates (a bit confused at first)
What's next for Hot Takes!
- Leaderboards showing the most controversial takes and top contributors
- Social sharing with generated result cards for Twitter/Discord
- Subreddit filtering
- Creating possible games within this system
Built With
- api
- react
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.