312
Pre-viral signals
↑ 18 new today
148K
Products tracked
↑ 2.4% this week
64%
Avg sourced margin
↑ +3pts this week
0
Your watchlist
⚡ Check for hot items
Top predicted viral products ● demo
View all →
Live signals
All →
Quick sourcing — Alibaba matched
Full sourcing →
Recent alerts
Live signal feed ● demo
Updating
Signal breakdown
View velocity spikes84
Creator clustering61
Hashtag momentum53
Cross-platform44
Save rate anomalies70
Alert threshold
Alert me when virality score exceeds:
Threshold80
Auto-matched Alibaba suppliers for top predicted products. Click to open the live Alibaba listing.
Loading alerts...
Your saved products — synced to your account across devices.
⚙️ Setup & Configuration
Wire up your real data sources. Everything below is a one-time setup. All keys are stored locally in your browser only.
🟢 Supabase — User accounts & database
Not configured
1
Create a free Supabase project
Go to supabase.com, sign up free, create a new project. Takes about 2 minutes. The free tier gives you 500MB database, 50,000 monthly active users, and email auth — all free forever.
Open Supabase dashboard
2
Run this SQL in your Supabase SQL editor
This creates the tables for watchlists, alert preferences, and user profiles. Go to your project → SQL Editor → New query → paste and run.
-- Run in Supabase SQL Editor → Project → SQL Editor
create table if not exists public.profiles (
id uuid references auth.users on delete cascade primary key,
full_name text,
plan text default 'starter',
alert_threshold int default 80,
created_at timestamptz default now()
);
create table if not exists public.watchlist (
id bigserial primary key,
user_id uuid references auth.users on delete cascade,
product_id int not null,
created_at timestamptz default now(),
unique(user_id, product_id)
);
create table if not exists public.alerts (
id bigserial primary key,
user_id uuid references auth.users on delete cascade,
title text,
body text,
icon text default '🔔',
read boolean default false,
created_at timestamptz default now()
);
-- Auto-create profile on signup
create or replace function public.handle_new_user()
returns trigger as $$
begin
insert into public.profiles (id, full_name)
values (new.id, new.raw_user_meta_data->>'full_name');
return new;
end;
$$ language plpgsql security definer;
create or replace trigger on_auth_user_created
after insert on auth.users
for each row execute procedure public.handle_new_user();
-- Row Level Security
alter table public.profiles enable row level security;
alter table public.watchlist enable row level security;
alter table public.alerts enable row level security;
create policy "Users see own profile" on public.profiles for all using (auth.uid() = id);
create policy "Users see own watchlist" on public.watchlist for all using (auth.uid() = user_id);
create policy "Users see own alerts" on public.alerts for all using (auth.uid() = user_id);
3
Add your Supabase URL and anon key
Find these in your Supabase project: Settings → API → Project URL and anon/public key (use the anon key here, NOT the service_role key — the anon key is safe to use in a browser).
🎵 TikTok Research API — Live trend data
Not configured
1
Apply for TikTok Research API access
TikTok's Research API is free but requires an application. It provides access to trending hashtags, video velocity data, and content discovery. Approval typically takes 1–4 weeks. Note: Direct scraping of TikTok Creative Center is against their ToS. This is the legitimate free route.
Apply for Research API access
2
While waiting — use Apify's TikTok actor (freemium)
Apify has an official TikTok Creative Center actor that runs within ToS. Free tier gives $5/month credit (~1,000 trend queries). This is the fastest legal way to get real data while your Research API application is pending.
Apify TikTok actor (free tier)
3
Once approved — add your Research API credentials
After Research API approval, add your client key and secret. The app will automatically switch from Apify to native TikTok data.
🔄 How the data pipeline works
Reference
📡
Data source
TikTok Research API or Apify actor fetches trending hashtags, video velocities, and product-linked content every 6 hours
🧠
Virality scoring
Score = (view_velocity × 0.4) + (creator_count × 0.3) + (hashtag_growth × 0.2) + (save_rate × 0.1) × 100
🏪
Alibaba matching
Product name → Alibaba keyword search API → top 2 supplier matches with price, MOQ, rating auto-fetched
🚀 Deploy to Vercel — free hosting in 2 minutes
Optional
1
Go to vercel.com and drag-drop this HTML file
Vercel's free tier hosts your site globally on a CDN with SSL included. No credit card. Your site will be live at
Open Vercel deploy
yourname.vercel.app in under 60 seconds.2
Add your domain in Supabase redirect URLs
After deploying, go to Supabase → Authentication → URL Configuration and add your Vercel URL as an allowed redirect URL. This ensures email confirmation links work properly.
https://yourproject.vercel.app
https://yourproject.vercel.app/auth/callback