Work · Camp Network · Jun 2023–Oct 2024
Entity resolution across five social APIs
At Camp Network I reverse-engineered TikTok’s private API and resolved the same creator across TikTok, YouTube, Twitter/X, Instagram and Spotify — five sources that agreed on nothing — into one schema. Data-layer response times fell 60%.
Problem
The product needed one creator across five platforms. Public endpoints did not expose the data. Each platform had its own identifier, its own schema, and no interest in agreeing. Display names are not identity.
Constraints
I was one of the first engineers. I owned the data and AI layer from pre-seed through Series A. Remote. The TikTok data we needed was not on the public API.
What shipped
- Reverse-engineering of TikTok’s private API, and scrapers for data public endpoints did not expose.
- Entity resolution across TikTok, YouTube, Twitter/X, Instagram and Spotify into one schema.
- An AI chatbot on metrics: satisfaction +30%, support tickets −40%.
Numbers
Five sources. One schema. Data-layer response times down 60%. I was there from pre-seed through Series A. I did not raise that round. I owned the data layer under it.
Stack
Node.js, TypeScript, third-party APIs where docs were wrong or absent, entity resolution and dedup, async HTTP, the usual SQL store behind a product that had to answer “is this the same person?” without guessing.
Guardrail
Do not trust a display name, or a vendor string in page text, as identity. Resolution needs a schema and a match you can defend. The same instinct later became abstention on the GTM stack: if the source does not support the claim, the row does not ship.