Inspiration
We missed the 'Old Youtube', where videos and social media in the past was filled with passion and novelty, and every channel seemed to be unique with their own identity. Online communities were close-knit and wholesome, providing a place for people to make real, genuine connections on the internet
What it does
We developed an algorithmic-based solution in generating rewards for creators, such that they have more flexibility in their content creation styles, instead of quantity driven videos to stay relevant in the sea of content being generated.
Also implemented a fraud detection system used by analysing watchtime behavioural analysis coupled by spikes in viewership count to create a holistic risk profile assessment to detect money laundering/ viewbotters.
How we built it
Frontend: Lynx Backend: Node.js, Express.js Languages used: TypeScript, JavaScript, CSS Core Libraries: @lynx-js/react - Lynx React integration
@lynx-js/qrcode-rsbuild-plugin - QR code generation for mobile testing
@lynx-js/react-rsbuild-plugin - Lynx React build tools
@rsbuild/plugin-type-check - TypeScript type checking
Our solution features an brief mockup of TikTok and its UI built by the Lynx UI framework, featuring two modes: Consumer and Creator.
Consumer Mode:
- Both normal video and livestream, where users can like, share, comment, save
Creator Mode:
- Revenue tracking, video analytics
- Fraud and money laundering detection via algorithm
- Content Quality score via algorithm
Profit Sharing Mechanism:
Revenue = [√(V × k_views) + k₁_views × log₁₀(V + 1)] + [√(WT × k_watchtime) + k₁_watchtime × log₁₀(WT + 1)]
We approached the solution using a dual component logarithmic square root model for the profit-sharing mechanism. This allows for initial engagement to be highly rewarded, but overly viral growth does not create disproportionately large payouts. It also prevents gaming the system with bot farms due to watchtime.
Its dual metric balance between views that drive discovery, and Watchtime, which can be a metric for content quality and retention allow creators to pursue a mix in content type without suffering much revenue loss even if they built their content/ fan base around a specific type of content.
Creator Share = MIN(70%, MAX(30%, 30% + (Quality × 35%) + Credit Bonus))
We then further broke the share down into a quality assessment algorithm, where creators further enjoy a bigger cut with unique and quality content. Yet, it is balanced to also ensure platform sustainability.
Fraud Detection Algorithm:
We adopted a multi-layered detection system to tackle Fraud and Money laundering.
1st Layer:
Z-score = |(actual_rate - historical_mean)| / historical_std_dev
Velocity Spike Detection: const totalEngagement = video.likes + video.comments + video.shares + video.saves; if (detectVelocitySpike(video.id, totalEngagement)) { flags.push('Suspicious engagement velocity spike detected'); riskScore += 0.3; }
By calculating the average views/comments/likes of videos, we are able to detect large spikes in viewership which can increase the chance of being flagged out in the system. While this might cause certain bot farmers with consistent number of viewers, we decide to integrate it with out second layer.
2nd Layer: Entropy detection Entropy = -Σ(p × log₂(p)) // where p = probability in time buckets Normalized Entropy = Entropy / Max_Entropy Bot Confidence = 1 - Normalized_Entropy
Videos and users with suspiciously regular watch patterns will allow us to catch typical bot view farmers as well, as well as flag those with more advanced viewbotters who have actual variance.
3rd Layer: Watch time analysis Watch Time Analysis
Checks completion rate distribution consistency
Flags unusually uniform or bizarre watch patterns
These layers attribute a risk score to the video, and together are combined to allow for videos to be tagged in different levels of risk for us to detect things more holistically.
Creator Credit System:
New_Credit = (Old_Credit × decayᵗⁱᵐᵉ) + (Quality × (1 - decay))
We also added a credit system where creators can get bonuses in their share by uploading consecutive quality videos in a row, to encourage content creators whose style is more quality focused rather than quantity based. We felt that currently many video creators are being pushed towards a content-slop style, due to social media algorithms and we wish to bring more viability in how videos are made.
Challenges we ran into
- Entered as a two man team, so workload was heavy and hectic, were not able to implement much features/ work on the UI with our focus heavy on the algorithms
- Unfamiliarity with frontend, we both did not have much experience frontend-wise, but it was helpful with the Lynx documentation
Accomplishments that we're proud of
- Managing to build an app that we are proud of, and being able to discuss ideas that we felt could genuinely bring change to how content is being created
- Learning and picking up many new concepts, from either algorithms or coding
- Being able to apply what we thought and put it together into an actual concrete solution
What we learned
- Learnt the importance of coordination and planning ahead
- Overall system in building an application
- Knowledge about frontend and backend ## What's next for Brandons_Together_Strong
- Working together to further develop this idea even more and flesh it out
- Implementation with ML algorithms or AI
- Touch up on UI and frontend
Log in or sign up for Devpost to join the conversation.