Skip to main content

Zamieniam powtarzalną pracę w Twojej firmie w narzędzia, które robią ją za Ciebie.

Umów bezpłatną rozmowę (30 min) Zobacz, co zbudowałem

Bartosz Gaca, aplikacje i automatyzacje AI dla firm

Zamieniam żmudną, powtarzalną pracę w Twojej firmie w narzędzia, które robią ją za Ciebie. Aplikacje, chatboty i automatyzacje. Pierwszy działający efekt w 2-4 tygodnie. Szybki start produktu od 15 000 PLN, opieka na abonament od 5 000 PLN/mies, pakiet automatyzacji od 3 000 PLN/mies.

Usługi: pierwszy działający efekt w 2-4 tygodnie

  • Szybki start produktu: działające narzędzie w 2-4 tygodnie
  • Opieka na abonament: Twój programista na stałe, bez etatu
  • Pakiet automatyzacji: usprawnienia, które oszczędzają Twój czas
Umów bezpłatną rozmowę (30 min)

Najczęstsze pytania

Ile to trwa?

Pierwszy działający efekt zwykle w 2-4 tygodnie. Zamiast slajdów dostajesz rozwiązanie, które od razu przetestujesz u siebie.

Ile kosztuje współpraca?

Szybki start produktu od 15 000 PLN jednorazowo, opieka na abonament od 5 000 PLN/mies, pakiet automatyzacji od 3 000 PLN/mies. Dokładna wycena po rozmowie.

Nie znam się na technologii, dam radę?

Tak. Rozmawiamy po ludzku, bez żargonu. Ty mówisz, co Cię uwiera w firmie, a ja biorę na siebie całą techniczną stronę.

Dla kogo jest ta oferta?

Dla firm, które tracą godziny na powtarzalną, ręczną pracę i chcą to usprawnić bez budowania własnego zespołu programistów.

Jak zacząć współpracę?

Umów bezpłatną rozmowę na /rozmowa. Dostajesz konkretny plan: co da się zrobić, ile to zajmie i ile kosztuje.

The Bot That Posts to Facebook Groups on Its Own: How I Built It and What Two Weeks Delivered

195,894 views in two weeks. Not a single manual publication. That is the output of a bot that posts one listing to dozens of local Facebook groups entirely on its own.

This is the full breakdown of that system: how it is written, where it broke, what guardrails it runs on and what it actually delivered. No theory. Every number here comes from a live deployment.

Real footage: the bot types the listing character by character and publishes it in a group. No hands on the keyboard.

Where this bot came from

The starting point was mundane. A 525 m² warehouse for rent near Gorzów, Poland, and dozens of local classified groups around it. Posting by hand means hours of clicking every week, and at any real scale it is a short path to an account block.

So I wrote a bot that does it for me. Playwright walks into group after group, types the text character by character, waits for the photos and the video to upload, clicks Publish. A human will not post 37 times a day for two weeks straight. A machine will.

The three hardest problems

1. The FB group list is virtualized. The DOM lies

Checkboxes vanish as you scroll, elements exist in the tree but not on screen. Classic selectors fall apart. I ended up clicking by mouse coordinates and reading the group name through elementFromPoint. Less elegant, far more reliable.

2. Passkey 2FA blocked Playwright

A fresh browser profile will not get past hardware-key login. So the bot attaches over CDP to a real Chrome where I log in once, by hand. Each account gets its own profile and fingerprint. The session survives for weeks.

3. Anti-ban from day one, not after the first block

The limits were in place before the first post went out: 3-5 posts per day at the start, gaps between publications initially 8-18 minutes (after the ramp-up I brought it down to 8-13), random jitter, at most 2 groups from the same town in a row, a 7:00-23:00 posting window and a 48-hour cooldown per group. Plus a kill switch: if FB shows a checkpoint, the whole system stops immediately, every account.

"Posted" is not the same as "posted correctly"

The most important lesson of the whole project. I caught a case where a post went out truncated and without its video, while the system reported success, because Facebook returned a valid response.

That is why the bot does a read-back: after publishing, a crawler returns to the group and checks that the post is REALLY there and the content matches. Every publication moves through statuses: scheduled, sent, confirmed or absent. "Sent" only means we clicked Publish. Only the crawler flips it to confirmed. Truncated content or missing media? Status failed, not published.

If you are building similar automation: do not trust "200 OK". Count facts, not declarations.

A validator that makes lying impossible

The second safeguard runs before a post ever leaves. Each campaign has a whitelist of allowed numbers and a blocklist of forbidden claims. A template with a number outside the whitelist, or a feature from the blocklist, is rejected automatically. The bot is physically unable to publish "525 m²" where the warehouse has a different size, or promise anything the offer does not include.

One listing turned into a multi-campaign system

The warehouse was campaign number one. Then came a second, completely different one: Stadomat.pl, a herd management app for cattle farmers. Same engine, different content, different groups, a separate account with its own session.

FB Poster panel: Groups tab with the candidate funnel and a list of joined farming groups
The panel live: the group funnel for the Stadomat campaign. 307 candidates found by search, 21 groups joined, including communities of 128-224k members.

The funnel for a new campaign looks like this:

  • Finding groups: the bot queries FB search by phrases (for Stadomat: farming topics, nationwide). 330 groups are in targeting, 307 of them waiting as candidates.
  • Joining: throttled, a few per day, per account. Currently 21 groups joined, zero blocks.
  • AI scoring: every group gets a topical-fit and customer-fit score before it enters rotation.
  • Content: three post variants (short, medium, long). Only the ones I approve by hand get published. Rotating the approved set doubles as an A/B test.
FB Poster panel: short/medium/long post proposals with Save, Approve, Carousel and Video buttons
Content proposals per campaign. The bot publishes approved variants only. A human approves, the machine executes.

Results after two weeks

Facebook stats after 14 days of automation: 195,894 views, up 247,867%, daily chart June 14-27
Straight from Facebook insights: view breakdown for 14 days of the automat running (June 14-27). 195,894 views, +247,867%.

The warehouse campaign, two weeks of the automat running:

  • 195,894 views of the listing,
  • +247,867% reach compared to manual posting,
  • 99 groups across 31 towns,
  • up to 37 posts per day, each verified by the crawler.

Can automation grow your Facebook reach? It can. But it is not magic, it is consistency. A cadence no human sustains, plus verification most humans skip.

Four lessons that stick

  1. The DOM can lie. With virtualized lists, click by coordinates and read the screen, not the tree.
  2. Do not fight 2FA, route around it legitimately. CDP into a real browser with a real session beats any emulation attempt.
  3. Limits go in before the first post. After the first block it is too late.
  4. A success report without verification is worthless. Read-back plus hard failed/published gates is the difference between a system and a toy.

I covered the business side of this approach earlier in Automating Facebook Group Posting. And for what day-to-day AI-assisted building looks like on projects like this one, see my multi-agent dev team setup.

Need Automation in Your Business?

If you want to implement process automation in your company, you do not have to do it alone. Check out AI automation for business or Book a free call (30 min) and I will tell you where to start and what results to expect.