VROF

Work

Influencer performance scattered across 5 platforms, condensed into one advertiser report

A Python desktop app another vendor started and stopped was rebuilt as a Chrome extension that runs inside the browser where the user is already logged in. All five platforms, where no values had been captured, opened up.

Platforms collecting correctly

Before

1 of 5

After

5 platforms

Report generation screen of the delivered Chrome extension. On the left sidebar, the data collection, report generation, and database management menus plus the login status of the five supported platforms are shown; in the main area on the right, campaign basic info input, report target platform selection buttons, and the HTML report generation and Excel export buttons are laid out in order.
This is the screen as actually delivered.
Client
Domestic marketing agency
Industry
Marketing agency
Completed
2026
Duration
1 week after takeover
Service
Workflow automation
  • Browser extension
  • Collection that finds values even when the layout changes
  • Browser-side storage
  • Point-in-time metric recording
  • HTML report
  • Excel export

Background

The request came in with something already built once. The previous vendor had delivered a Windows-only desktop program, and what the client sent over, organized, was not a review but a defect list. Only one of the five platforms was marked “no issues”.

What we saw in the field

Reading the defect list as per-platform bugs gives more than ten things to fix. But laid out side by side, the blocked points were almost all the same place.

  • One was “post access blocked by Cloudflare verification”
  • One had the post body, comments, and thumbnails not captured at all
  • One had comment authors marked @user instead of their actual names

The previous program was built in Python and launched a separate browser, then accessed the platforms without logging in. When the platforms judged that browser not to be a person, whatever the code after that did, it received empty values. It was not a bug — it was a problem of the access approach.

The problem we defined

Instead of fixing the collector, we decided to move where it runs. The client was already logged in to each platform with their own account. If it was a Chrome extension running inside that browser, there was nothing new to authenticate — it reads the screen the person is already looking at.

Since it was a decision to drop the Python desktop app and build from scratch, we explained first why we were not patching onto it before starting.

Collection screen. On the left is the list of supported platforms and each platform’s login status, and in the middle is an input field for registering a collection target address, with a window open for checking platform login status. The window says “If you are logged in to the browser, it is recognized automatically.” The two example address lines written in the input field are blurred out.

The extension does not create new authentication. It reads the logged-in state the person in charge has already set up, and only marks the platforms whose login has expired, guiding them to log in directly.

What we built

  • Collector for 5 platforms — 3 used domestically and 2 in Chinese-speaking regions. Each had a different authentication method and data shape, so each was built separately. Instead of the screen structure, it references the internal data the page already holds. One of them had no official channel and its screen layout changed frequently. It finds values even when the layout changes — because it reads the values that screen already holds, not its appearance
  • Database inside the browser — the collected material stays in the person in charge’s browser. There is no server, so advertiser data never leaves
  • Multiple posts by the same author — the previous program let later-collected data overwrite earlier data. Changed to key on each post’s unique identifier, so it accumulates post by post
  • Report for advertiser submission — per-platform aggregates, top-performing content, and trends over time in one sheet. The client’s first item was “it’s meant for advertiser reporting but feels very shabby”
  • Excel export — exports to Excel files instead of the CSV that kept breaking
  • Collection time recorded alongside — metrics of the same post are kept per point in time. Values that cannot be known from a single check, like the reaction speed right after posting, can be reviewed later

Result

The one platform that worked in the defect list became five. We left a verification record checking comment collection on all five platforms item by item (2026-02-08).

Other work done the same way is collected under web data collection.

Other work on the same topic is collected under data analysis.

Sources

Korean expert platform verified transaction review (Jeong OO)

We offer consultations to help you save time Free consultation · Replies within 1 business day

Contact