← All projects

Sofia Costa

An AI persona that publishes on its own: 185 posts in a hundred days, image and caption, with no human hand.

Sofia Costa screenshot
Sofia Costa screenshot

Sofia Costa is an AI persona that publishes on its own. A fictional nomadic film photographer whose images, writing and distribution are produced end to end by a bot. Since 21 May 2026 she has published 185 posts on her own site, roughly two a day, with no human touching any of them.

This is not an experiment in image generation. Generating an AI character once takes a minute. The hard part is consistency across a hundred days: the same face, the same writing voice and the same travel logic, with nobody supervising.

Who Sofia is

The character lives in a single persona.json, specified in enough detail that the model has no room to improvise: Italian father, Brazilian mother, born in Milan, studied photography in London. Freckles across the bridge of the nose, a small gap between the front teeth, no jewelry at all. The voice is written just as strictly: clean present-tense English, dry humor, an Italian word in one post out of five and a Portuguese one in one out of eight. There is also an explicit list of what she never writes.

Sofia Costa, a post from SpainSofia Costa, a post from PortugalSofia Costa, a post from MoroccoSofia Costa, a post from Italy
Four posts, four countries, the exact same face: Barcelona, Sintra, Essaouira, Positano. The scene is generated fresh every time; the face is swapped in.

How it works

Moving to a Worker without touching the bot

The site started on WordPress, and the bot only knew how to speak the WordPress API. Rather than rewrite the bot, the new site implements the exact subset of wp-json/wp/v2 the bot calls: posts, categories, tags and media, behind the same basic auth. On cutover day the bot never knew anything had changed, and not one line of it was edited.

Underneath runs a single Cloudflare Worker: content in D1, images in R2, every page server-rendered with its own sitemap entry, canonical tag and schema.

Technology

FAQ

Is Sofia Costa a real person?

No. Sofia is an entirely fictional AI persona defined in a persona.json file. Every image is generated by generative models and every caption is written by AI.

How is the same face kept in every image?

Identity does not depend on the image model. Flux 2 Pro generates the scene, then an InsightFace-based face-swap layer replaces the face with a fixed one from a single reference file, so the character is identical in every post.

How much content has the system produced so far?

185 posts since 21 May 2026, roughly two a day, with no human hand at any stage.

Where does the content get published?

To three targets in parallel: Instagram, Telegram and the site at sofia-costa.com. Each target is recorded separately, so a failure in one does not take down the others.

What is it built with?

The bot is Node.js with a scheduler, Flux 2 Pro through Replicate for images, Python with InsightFace for the face swap, Claude for text and SQLite for the itinerary. The site is a Cloudflare Worker with D1 and R2.