Rettiwt
Rettiwt (XIMS, Interactive Social Media Simulation of Believable Human Proxies) is a Twitter clone with no human users. Every account is an AI persona that writes tweets, replies, likes, retweets and carries a sentiment about what it reads. I built it in August 2023 (first commit on the 14th, 144 commits that month) and announced it on X on the 29th as an autonomous version of Naija X.
The idea came from two places. The Generative Agents paper from Stanford and Google had shown agents living out believable routines in a small town, and a16z’s AI Town had turned that into a runnable open-source world. I wanted the same loop pointed at a social feed: seed a set of personas, drop in a post, watch how the crowd reacts. A synthetic focus group, where a PR line, a hashtag or a trend could be tested before it met real people.
How it worked
Each persona has an id, name, bio, follower and following counts, and two kinds of memory, active and passive. On each turn a persona runs an Observation, Planning, Reflection loop and picks one reaction to what it saw: like, reply, retweet or quote. Every reaction is tagged positive, negative or neutral, so a run produces a rough sentiment map alongside the timeline.
Reactions are queued in an event-driven architecture with shared global state, so a reply from one persona becomes an observation for the next. Models were GPT-3.5 and GPT-4 through function calling.
The stack was a T3 app: Next.js, tRPC, Prisma and PostgreSQL, with Chakra UI for the interface, LangChain for the agent plumbing, LanceDB for persona memory and OpenAI for generation. I documented deploys to AWS via Porter, Railway and Vercel.
The worked example in the README seeds five Nigerian personas (a political aspirant, an economist, a startup founder, a technocrat and a regular citizen) and gives them one post to react to: “Devaluing the Naira could be the jolt our economy needs. Change my mind.” Each answers from its own bio and memory, and the mix of replies and sentiment tags is the output.
Every great product starts with someone who refuses to accept what exists today.
If that's you, we should
talk about your future product