Influencer performance report extension
Another vendor had started this as a Python desktop app and left it unfinished. We rebuilt it as a Chrome extension that runs in the user's own logged-in browser. All five platforms that had returned no data now collect correctly.
Platforms collecting correctly
Before
1 of 5
After
5 of 5
To protect client information, these screens recreate the same features with mock data.
Background
The project came to us already built once. The previous vendor had delivered a Windows-only desktop program, and what the client sent us was not feedback but a defect list. Only one of the five platforms was marked “no issues”.
What we found
Read as per-platform bugs, the defect list had more than ten items. Side by side, though, nearly all of them failed at the same point.
- One platform: “posts blocked by Cloudflare verification”
- One platform: post body, comments and thumbnails not captured at all
- One platform: comment authors shown as
@userinstead of their names
The previous program used Python to launch a separate browser and accessed each platform without logging in. Once a platform decided that browser was not a person, everything after it received empty values. This was not a bug. It was the access method.
The problem
Instead of fixing the collector, we moved where it runs. The client was already logged in to each platform with their own account. A Chrome extension running in that browser needs no new authentication. It reads the same screen the user is looking at.
This meant dropping the Python desktop app and starting over, so we explained why we would not build on it before we began.

The extension does not create its own authentication. It uses the login the user already has, flags any platform whose session has expired, and prompts the user to log in again.
What we built
- Collectors for five platforms — three used in Korea and two in the Chinese-speaking market. Each has its own authentication and data format, so each was built separately. They read the data the page already holds rather than the page layout. One platform has no official access route and changes its layout often. Collection keeps working when the layout changes, because it reads the values behind the screen, not how they are displayed
- In-browser database — collected data stays in the user’s browser. There is no server, so advertiser data never leaves the machine
- Multiple posts by the same creator — in the previous program, later collections overwrote earlier ones. Records are now keyed by each post’s unique ID, so every post is kept
- Advertiser-ready report — per-platform totals, top-performing content and trends over time on a single page. The client’s first complaint was that the old report “looked too shabby to send to advertisers”
- Excel export — Excel files replace the CSV output that kept breaking
- Time-stamped collection — metrics for the same post are recorded at each collection. Values a single check cannot show, such as how quickly a post gained traction after publishing, can be reviewed later
Results
One working platform became five. Comment collection on all five platforms was verified item by item and documented (2026-02-08).
See more work built the same way under Web data collection.
See more work on this topic under Data analysis.