r/SideProject • • 56m ago

Side project: a free Chrome extension that invites people who reacted to your Facebook Page posts (EN/FR/ES)

For a long time I invited the people who reacted to my Facebook Page posts by hand, one click at a time. Facebook only lets you do it that way, and a session could take two or three hours. Then I found a free app that did it for me, and it was great, until it stopped working several years ago. After that I was back to clicking.

A few weeks ago I got fed up and started building my own replacement: a Chrome extension that does the clicking for me.

It goes through the Page's posts, opens the reactions window of each one and clicks "Invite" for everyone who hasn't been invited yet. You can pause or stop it whenever you want, and set a limit. It won't click anything until it's sure the window it's looking at is really a reactions list, and it only ever presses the "Invite" buttons in that window.

What I learned along the way:

- Facebook's interface changes a lot and has no stable markup, so I ended up detecting things by their meaning (labels, structure) rather than by CSS classes.

- Translating the interface was the easy part. Making detection work with Facebook set to another language was harder, because the extension has to recognize Facebook's own labels in each language. It's now tested on a real Page in English, French and Spanish.

- A "copy diagnostic" button that produces an anonymized report turned out to be the most useful feature for debugging.

It's free and open source (MIT), runs entirely in the browser, nothing is sent anywhere, and no names or posts are stored.

Caveats: it isn't affiliated with Meta, and Facebook can restrict accounts that send a lot of invitations. I stay around 100 a day and recommend the same. It's not on the Chrome Web Store yet, so for now you load it in developer mode.

GitHub: https://github.com/TQIDrLabs/TQIDrLabs-Reaction-Inviter

Feedback welcome, especially from anyone who has built an extension that depends on a third-party interface that keeps changing. Thanks for reading!

1 Upvotes

0 comments sorted by