Typed or
imported text
Photo folderTarget
list
Motor de Post pra Facebook

Prepare once.Organize every target.

Text, images and settings gathered by project.

Posts, lists and deletes in groups with supervision at every step.

Desktop appAutomationOriginal

  • Tauri
  • React
  • Node.js
  • Playwright
Typed or
imported text
Photo folderTarget list
Motor de Post pra Facebook

Prepare once.Organize every target.

Text, images and settings gathered by project.

  • Tauri
  • React
  • Node.js
  • Playwright

Posts, lists and deletes in groups with supervision at every step.

Desktop appAutomationOriginal

  • Tauri
  • React
  • Node.js
  • Playwright

PortfolioMotor de Post pra Facebook

One listing, many groups

One listing, the right groups.

When publishing a listing, the engine looks for groups by name and checks the ones that match the keywords, without going over the limit and without checking the same group twice. Change the words and see who gets in.

Group keywords

Exclude groups with

The groups it finds

  • Marketplacechecked
  • Compra e Venda Centrono match
  • Repúblicas e Quartoschecked · repub
  • Repúblicas, Medicinaskipped (exclusion) · medicina
  • Republica Estudantil Nortechecked · repub
  • Repúblicas e Quartosrepeated name, not clicked again
  • Aluguel de Quartosno match
  • Repúblicas Bairro Sulchecked · repub
  • Desapega Geralno match
  • República Mista Lesteover the limit

Review the 4 checked groups. Enter PUBLISHES · "a" aborts

The rules are the engine's (facebook.mjs): the word is compared without accents ("repub" finds "Repúblicas"); an exclusion skips the group; a name already seen isn't clicked again (a second click would uncheck it); the starting group, already checked, is kept; Marketplace goes first and counts toward the limit. Before publishing, it stops at this review. The groups here are examples.

Project scene: the engine settings on a monitor, with glass cards for intervals, duplicates and step by step

Automation moves on. You stay in control.

Configurable intervals, duplicate checks and step-by-step mode.

Intervals between actionsDuplicate checksStep-by-step mode

Each group the engine opens goes through three checks before publishing. Write a post, pick what the group page looks like and see which gate it stops at, or whether it passes.

The post

The group page

The checks, in this order

  1. 1Block on the page?passed
  2. 2Validation term?passed
  3. 3Post already here?passed

The lines it looks for (cleaned)

  • 🏠 Room available to rentRoom available to rent
  • Furnished, close to downtown, bills includedFurnished, close to downtown, bills included

Passed all three: publishes.

The rules are the engine's (facebook.mjs, selectors.mjs): first the 7 block texts (Portuguese and English), one found, everything stops; then the validation terms; last the duplicate: with 15 characters or more, it takes the first 2 lines longer than 12, strips * _ ~ # and emojis and searches the page. The texts here are examples.

Project scene: the engine open on a laptop, with glass cards for folder, person and send

Less repetition. More control.

Content, photos and targets in a supervised flow.

Organized
projects
Human
review
Monitored
execution

The engine doesn't fire away: the queue has a ceiling per run and, in step-by-step mode, it asks before each target. Without step by step, it waits a random interval. Start the queue and take the wheel.

Targets 6/8

  1. Group 1
  2. Group 2
  3. Group 3
  4. Group 4
  5. Group 5
  6. Group 6
  7. Group 7over the limit
  8. Group 8over the limit
OK
0
Error
0
Skipped
0

Without step by step: random interval of 60 to 180 s (sped up here)

—

The real screens

The rules are the engine's (run.mjs): min(targets, limit) get in, the limit is per run, not per day; in step by step it waits for your command; without it, it draws a whole interval between min and max and counts 1 s at a time. A block stops the whole queue. The targets here are examples.

The technologies

What it is made of, piece by piece

Three parts that talk: the Tauri window with a React screen, Rust that starts the engine and relays messages, and the Node engine with Playwright, which opens the browser and does each step. Pick a piece to see what it does here and which file it is in.

7technologies, in 3 layers

Screen

Program

Engine