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 to Series A, about $30M raised. Remote. The TikTok data we needed was not on the public API.

What shipped

Numbers

Five sources. One schema. Data-layer response times down 60%. Series A on about $30M raised. 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.