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

Built With

Share this project:

Updates