Skip to content

Case study

Facebook collection and reposting tool

A desktop tool that collects from a spreadsheet of profiles and reposts to groups, packaged behind a PIN so operators could run it without touching a terminal.

Overview

Direct work, outside any platform. A tool that collects from a list of profiles held in a spreadsheet and reposts the results into groups, built to be operated by people who do not use a command line.

It exists in two generations. The first is the collector. The reposter is the version that came after it, adding the posting side and reorganising the whole thing around per-operator configurations.

What I own

Both generations, from the automation through to the packaged executable.

Complexities tackled

The hard part was who runs it, not what it does. The people using this were not developers. A Python script with a config file would have been unusable, so it ships as a Tkinter application behind a numeric PIN, packaged as a standalone executable. The scraping is the straightforward half; making it operable by someone who will not read an error message is the half that decides whether it gets used.

The spreadsheet is the interface. Profiles, targets and per-run settings all live in workbooks the operators already knew how to edit, read directly by the tool. Nobody had to learn a new format, and adding a hundred profiles is a paste rather than a support request.

Two automation drivers, kept deliberately. The codebase carries both a Playwright path and an older Selenium one. That is not indecision. Each generation of the target site broke one of them at different times, and having a working fallback meant the tool kept running while the other path was repaired.

Concurrency without a stampede. Collection runs several sessions at once through an executor, which is what makes the volume feasible, with deliberate waits between actions so the pacing stays within what the platform tolerates.

Stack

Python throughout, Playwright as the primary automation driver with Selenium retained as a fallback, Tkinter for the operator interface, Pillow for image handling, openpyxl for the workbooks, packaged with PyInstaller.

Working on something similar?

Tell me what you are building and what is in the way. I will tell you honestly whether I am the right person for it.

Start a conversation

Last updated: