DEV Community

Cover image for The entire social media department is one person with AI agents
Charles Solar for Favur

Posted on

The entire social media department is one person with AI agents

Favur is a multi-agent build harness. One person promotes it. That person also builds it.

There is no team, no agency, no growth hire. There is a workspace on one machine, and by the time the operator opens it in the morning it has already been awake for hours.

Overnight it read six rooms, drafted for four of them in four different registers, threw out one of its own sentences for making a claim it could not support, and published nothing at all, because publishing is the one thing it has no way to do.

The workspace keeps a dashboard on itself, and it is public at https://how-the-social-floor-is-run.vercel.app, a snapshot of one real day.

app home page

It has already read the internet

Overnight it works six rooms at once. X, Hacker News, Reddit, dev.to, GitHub, and a watch on new model releases. It notices which of the accounts we follow have been unusually talkative, which phrases are starting to catch, and which subject has quietly shown up in four different places in the same week, which is usually the first sign something is about to be a topic.

Then it brings all of that to you and stops. It has no opinion, offers no ranking, and never produces a list of things you ought to do today. It is a very well-read colleague who hands you the interesting material and then waits, rather than one who hands you a to-do list you have to second-guess.

It also tells you when it has gone deaf. If one of the six rooms stops answering, the first thing it says is that the room has gone quiet, so a broken ear never gets mistaken for a slow news day.

It remembers everything you ever told it

The workspace carries 182 rules, and every one of them exists because something was learned the day it was written. Tell it once that a phrase sounds like a press release and it will never hand you that phrase again. Not in a week, not in a month, not on a tired Friday. Each correction gets written down while the memory is fresh, along with what was wrong and what to do instead, and it arrives on its own the next time it is relevant.

The alternative is familiar. You fix something, it agrees enthusiastically, and three days later the same thing comes back untouched. The difference is not politeness, it is whether the correction was written down.

It writes, then it goes after its own writing

It spends most of its effort trying to tear up its own work.

A draft gets written, and then it gets handed to a critic who has never seen the conversation that produced it. No idea what the piece was for, no access to the reasoning, nothing but the draft and the sources it leans on. Its default answer is no. It is hunting the specific failure that fools everybody, which is a piece that reads beautifully and says nothing at all.

It is a real gate rather than a ceremony. On a recent piece it threw out a sentence claiming an access token was read-only, because nothing it had been shown actually said that. It was correct, and the sentence would have gone out otherwise.

After that, three readers take a pass, and they are the three people whose reactions matter. Someone on a phone who will leave if the first line is boring. An engineer who will be irritated by being explained his own job. And someone senior asking whether this is worth the company's name on it. They each come back with a verdict and one specific fix, and they routinely disagree with each other, which is exactly why all three are there.

It writes differently for every room

Hacker News, Reddit and dev.to are not places to paste whatever went on X. They are their own rooms with their own standards, so one finding becomes four genuinely different pieces of writing, never the same text twice. The merit rooms get depth and something a skeptic can go check. X gets the version that survives a feed.

Every picture here is a program

The image at the top of this article is not a design file. It is a program, twenty-four lines long, written in a small language built for exactly this. Here is the middle of it, unedited.

THEME neon-dark
POSTERTITLE "One person. " COLOR ink SIZE display
POSTERTITLE "Every seat." COLOR accent SIZE display UNDERLINE
SUBHEAD "six rooms read overnight, four platforms written, nothing sent without a human"
IMGSLOT s1 "the ledger of rules it never forgets" BOX 0.04 0.42 0.16 0.38 TREAT sticker IMG "art/ingredients/d1e59745e12b319c6b71435a-trim.png"
IMGSLOT s5 "the send button it does not have" BOX 0.80 0.42 0.16 0.38 TREAT sticker IMG "art/ingredients/e2c0f1499d8d64c9ef3df159-trim.png"
CHIP "182 rules loaded" AT 0.12 0.88 COLOR s2
CHIP "cannot press send" AT 0.88 0.88 COLOR accent
Enter fullscreen mode Exit fullscreen mode

Every line is one verb and its arguments. THEME picks the palette. POSTERTITLE sets a piece of display type, and it is written twice on purpose, because the second half of the headline takes the accent color and an underline while the first half stays plain. SUBHEAD is the line under it. IMGSLOT takes a name, the alt text, a box given as fractions of the canvas rather than pixels, and a treatment, where sticker means cut it out and drop a soft shadow behind it. CHIP is a labeled badge pinned at a fraction of the canvas, taking its color from the palette by name.

Fractions instead of pixels is what makes the same file render a 1000 by 420 article cover, a 1200 by 630 link card, and a 1080 square ad. One line at the top selects the size.

META PROFILE devto-cover
Enter fullscreen mode Exit fullscreen mode

Video is the same language with a clock in front of it. The eleven second clip further down this article is twenty-one lines, and this is most of them.

META DURATION 11.0
META CORNERMARK "FAVUR - rendered from a 21-line program"
SCENE board 11.0
SLIDE
0.2 KICKER "the overnight pass"
0.5 HEADLINE "One person. Every seat."
1.6 KPI rooms "rooms read" "6"
2.8 KPI sent "sent by itself" "0"
3.6 BULLET "it reads six rooms overnight and hands over what is happening"
7.0 BULLET "and it has no send button at all"
Enter fullscreen mode Exit fullscreen mode

sample video

The number in front of a line is when it arrives, in seconds. KPI is a big figure with its label. BULLET is a line that slides in and stays. Reading the file top to bottom is watching the video, which is the property that matters, because it means changing the pacing of a clip is editing numbers in a text file rather than dragging blocks around a timeline.

That choice pays off in ways a design file never does. The art renders identically every time, on this machine or any other, with no account and no subscription and nothing bought per picture. When a number in a poster goes stale, the fix is editing one line and running it again rather than hunting for the layer it lived on. And because it is text, a picture can be reviewed the way code is reviewed, with a diff showing exactly what moved.

The same renderer makes posters, article covers, video boards, and the occasional meme, so a thing that works in one shows up in the others for free.

It makes things

It is not only a writer. Hand it the log of a real product run and it will turn that into a short film, storyboard and designed boards and finished video, with music laid under it. It makes posters and article headers, always showing you the layout before anything gets spent. It keeps a small lane open for jokes.

meme joke

Advertising comes out of the same machinery. A square creative for a feed is sixteen lines of the language above, and the copy arrives as three passes at one offer rather than a single draft, so there is something to choose between. It stops there. The workspace has never placed an ad, holds no budget, and reads every dashboard without being able to touch it.

sample ad

It reads the ad campaigns every morning and comes back with no more than three suggestions, because more than three is not advice, it is homework. Once a week it walks all three of our websites looking for dead links, aging pages, and whether the AI assistants have started citing us yet. It reads the inbound mail, works out who is actually worth a reply, and has the reply drafted before anyone has opened the inbox.

And it never presses send

It cannot publish. Not because it has been told not to, but because that ability was never built into it. It can read the whole internet and it can leave you something in a drafts folder, and that is the end of its reach.

Every post, reply and comment this operation produces, this one included, was written by the machine and sent by a person. A department of one can read far more than it can write, so the part that stays human is the part worth keeping.

Top comments (0)