Inspiration
Inspired by the popularity of community-driven challenges to motivate friendly competition among content creators to generate more well-liked content, we wanted to gamify content creation, reward good content produced, based on the voice of the people.
What it does
Users can discover TikTok challenge ideas, contribute to prize pools, submit their own videos, vote on entries, and follow challenges they're interested in. Content creators can then view the challenge ideas and take part in the ones they're capable of doing/ interested in trying, adding the challenge tag to their video for viewers to vote if they enjoyed the content. The prize pool will be distributed to the top few (Currently top 3) content creators with the most votes. Concluded challenges ideas will also remain for public viewing to view the award winning content.
Functional Features
Idea Moderation - User ideas will be checked for hateful, illegal, and immoral intentions. Users submitting a new video idea will be suggested ongoing similar challenges to contribute to that prize pool instead of creating a new one, hence increasing the quality of content by rewarding content creators with a larger prize.
Anti Money Laundering/ Anti Fraud - Large donations to the prize pool will be put under review first as we investigate the account details, considering macro attributes such as total amount donated, time spent on app against account creation date, and interactions (likes/views/comments/shares/saves) with content on the platform.
Fair Competition - Regardless of creator account size, all content created for a challenge idea will be recommended randomly and equally to viewers who have donated/expressed interest (By following) for a challenge idea. Vote counts are also hidden across videos and challenge idea details until the end of voting, allowing viewers to generate their own impressions and vote independently
How we built it
- Frontend: LynxJS, CSS, TypeScript
- Backend: FastAPI, sci-kit learn for
- Prize Management: Automated proportional payouts based on votes.
- Fraud Detection: Simple machine learning model flags unusual prize flows.
Challenges we ran into
- Handling 499 errors due to premature frontend request closure.
- Updating nested state objects in React correctly.
- Configuring CORS and URLs for seamless frontend-backend communication.
- Designing fair prize distribution while preventing fraud.
Accomplishments that we're proud of
- Fully integrated frontend and backend workflow for challenges, submissions, and voting.
- Implemented dynamic prize pool system with proportional payouts.
- Built a fraud detection model to protect creators and contributors.
What we learned
- Advanced state management in React, especially nested objects.
- Connecting frontend with FastAPI and handling POST requests efficiently.
- Building gamified systems that are both engaging and fair.
- Basics of transaction fraud detection in a digital platform.
What's next for Project Duuck
- Add real-time notifications for new submissions.
- Stretch Goals for challenge ideas (eg. when the pool amount hits 1k an additional 200 will be contributed for free by the platform, when there are 15 content creators participating viewers can vote for 2 different content now)
- Enhance fraud detection with more sophisticated machine learning models (eg. Verifying authentic users via Merkle-Root logging and Attested Playback Receipts)
- Expand analytics to show trending challenges and top creators.
- Optimize mobile experience for wider accessibility.
Built With
- css
- fastapi
- lynxjs
- python
- requests
- scikit-learn
- sql
- typescript
Log in or sign up for Devpost to join the conversation.