HiveHQ Affiliate App
Creator affiliate management for TikTok Shop sellers — find creators worth contacting, run outreach campaigns against them, and watch GMV land against the ones who convert.

The problem
TikTok Shop sellers grow by getting creators to post about their products. The bottleneck is not the posting, it is the finding: which of several hundred thousand creators are worth contacting, and then contacting them at a volume no one can do by hand.
The product had to make that tractable — a way to narrow a vast creator pool to a workable list, run outreach against it, and see what came back.
The interface problem
The creator list is the product, and it is a table. That is an unfashionable answer, but a seller comparing creators is doing a genuinely tabular job: scanning many rows across the same handful of columns, looking for outliers. Anything more decorative would make that harder.
So the design effort went into the filters above it rather than the table itself — category, GMV band, follower age, follower gender, follower count, units sold. Six controls that turn an unusable pool into a shortlist, sitting directly above the result they change, with the match count updating beside the button that applies them.
Connection state is a first-class tab rather than a column: unconnected, connected, and the seller's own list. It is the question a seller actually arrives with — who have I not yet reached — and making it a column would have buried it.
Two regions, one codebase
The app serves US and UK sellers, and they are not the same product. TikTok Shop exposes different data in each market, so the navigation, the dashboard metrics and parts of the onboarding differ between them.
Rather than fork, region is derived from the subdomain — app-us and app-uk — and read through a single hook that the navigation and dashboards branch on. One deployment, one codebase, two products that each look like they were built for their market.
Getting in
Nothing in the app works until three things are true: a plan is chosen, a card is on file, and the TikTok Shop is authorised. So the whole app is gated behind a three-step wizard, and every route redirects into it until all three complete.
That is a heavy-handed pattern and the right one here — a half-configured account produces an empty dashboard, which reads as a broken product rather than an unfinished setup.
Palette
Primary 50
#FCAE00
Amber — the brand
Primary 500
#D49200
Buttons, active nav
Primary 900
#B37B00
Hover and emphasis
Scope
- Routes
- 30
- Source files
- 152
- Regions
- 2
- Onboarding steps
- 3
Screens


What we did
- Product design
- Interface design — 30 routes
- Multi-region architecture
- Frontend build
- Onboarding and billing flows
Built with
- Next.js 15
- React 19
- Tailwind
- Headless UI
- TanStack Query
- React Hook Form
- Zod
- Stripe
- Sentry
- WebSockets