Inspiration

  • Reward authentic creators while protecting the platform from fraud and low‑quality engagement.
  • Make integrity transparent: creators should see how quality and safety signals influence payouts.
  • Ship a demo that’s practical to run locally, with real schema, realistic data, and explainable scoring.

What it does

  • Creator Portal (Streamlit) for sign‑in, dashboards, uploads, payouts, and analytics.

Viewer Activity → Engagement Integrity Score (EIS):

  • Computes integrity from schema‑only signals (views likes/comments/reports, device/IP diversity, timing).

Revenue Split Engine:

  • Allocates pool revenue to creators by EngUnits weighted by EIS, with trust and early‑velocity modifiers.

Trust, KYC, and Anti‑abuse:

  • KYC verification (mock but deterministic and explainable) with document checks.
  • Phone Trust Score (optional AbstractAPI) to simulate risk‑aware viewer trust.

Data generator:

  • Creates deterministic, FK‑safe sample data and can insert into Supabase.

How we built it

  • Streamlit apps for Creator Portal and admin tools.
  • Supabase (Postgres + Auth) as the single backend: tables for users, user_info, videos, event, transactions, video_aggregates, revenue windows.
  • EIS pipeline that reads event windows, computes transparent features and component scores, and persists aggregates.
  • Revenue Split engine that consumes EIS (or computes missing windows on‑demand) to produce creator allocations and transactions.
  • KYC and Trust modules that validate personal info/docs and optionally score phones via API.
  • Deterministic Faker‑based generator to seed realistic creators, events, videos, transactions, documents.

Challenges we ran into

  • Keeping integrity metrics transparent yet robust (no content semantics, only schema signals).
  • Reconciling demo speed with realistic scale (windowed queries, indexes, caching).
  • Foreign‑key safety and idempotent upserts across multiple related tables.
  • Handling API client differences (Supabase response shapes, filter syntax changes).
  • Consistent date/phone formats (ISO 8601 for dates, E.164 for phones).

Accomplishments that we're proud of

  • End‑to‑end demo: creators can upload, get integrity analytics, and receive EIS‑weighted payouts.
  • Fully explainable EIS with component breakdowns and a trend UI.
  • Integrated revenue engine that directly consumes EIS and writes auditable transactions.
  • FK‑safe data generator that mirrors production‑like tables and relationships.
  • Safety‑first payout flow with KYC gating and reserves.

What we learned

  • Integrity signals are most actionable when they’re explainable and shared with creators.
  • Simple, consistent schemas (and JSON details blobs) make analytics and UI iteration faster.
  • Supabase is a strong fit for rapid prototyping with real auth + Postgres.
  • Deterministic fake data dramatically accelerates iteration and demo repeatability.

What's next for Bob the Builder

  • Harden KYC/Trust integrations (real provider hooks, retries, rate limits, audit logs).
  • Expand integrity features (session naturalness, graph‑based device/IP clusters, time‑of‑day baselines).
  • Add appeals/workflows for creators to address integrity dips.
  • Automate monthly revenue runs with backfills and creator statements.
  • CI checks and seed scripts to keep schema/data in sync across environments.

Development tools used to build the project

Languages/frameworks:

  • Python 3.11+, Streamlit ### Backend:
  • Supabase (Postgres + Auth) ### Analytics/visuals:
  • Plotly, pandas, numpy ### Data generation:
  • Faker, deterministic seeds ### Optional media tool:
  • ffprobe/ffmpeg (for video metadata)

APIs used in the project

  • Supabase Python client (tables, Auth)
  • AbstractAPI Phone Validation (optional, for phone trust scoring)

Assets used in the project

  • Streamlit material icons and built‑in components
  • No bundled static assets; charts via Plotly

Libraries used in the project

  • streamlit, supabase, python‑dotenv, requests
  • Faker, plotly, pandas, numpy
  • phonenumbers (phone validation)

The relevant problem statement

How can a short‑video platform fairly monetize creators while preserving integrity and reducing fraud/chargeback risk? This project demonstrates a transparent, schema‑only Engagement Integrity Score that directly informs revenue allocation, with safety‑first payouts gated by KYC and supported by risk‑aware trust signals. It runs locally against a real Postgres schema with realistic sample data and production‑like flows.

Built With

Share this project:

Updates