So, while there are still a few bits on the roadmap for the Digital Tim chatbot, I decided not to wait around and instead gave him his own Blue Sky account. No existential crisis. No rogue posting. Just controlled, deliberate output.
The personas
Right now, Digital Tim has seven personas:
-
Developer
-
FPV Pilot
-
BJJ Hobbyist
-
DJ
-
UX Designer
-
Traveller
-
General Tim (the catch-all for anything that doesn’t fit neatly elsewhere)
Each persona is assigned a specific day of the week, and on that day, that persona is allowed to post twice. Simple rules. No chaos.
How the posting flow works
When the automation triggers, the flow does the following:
-
Checks the current day
-
Maps the day to the correct persona
-
Pulls the 10 most recent posts for that persona
-
Passes all of that into an LLM agent (Gemini — cheaper, quicker, does the job)
The recent posts are included so the model knows what’s already been said and avoids repeating itself. No one wants an AI stuck in a thought loop. On top of that, the LLM has access to a single unified view that contains everything Digital Tim knows about himself:
-
Q&A entries
-
Media reviews
-
DJ sets
-
Blog posts
-
The whole lot
It then:
-
Selects relevant data for the active persona
-
Generates a fresh post
-
Includes metadata about what data it used to derive that post
After that, there are a few housekeeping steps:
-
Check post length
-
Shorten any attached URLs
-
Store the final post in the database
-
Publish it to Blue Sky
End result: clean, varied posts that don’t feel spammy or repetitive.
Why this works well
The nice side effect of this setup is that the system improves as I add more content.
More blog posts, Q&As, DJ sets, and reviews = more raw material = fresher posts. Repetition naturally drops off without having to bolt on complex logic.
Which is exactly how it should work.
What’s next: “Observations”
The next layer I’m adding is something I’m calling Observations.
At the moment, Digital Tim’s memory is mostly made up of structured content – things I’ve intentionally written or recorded. What’s missing is the fleeting, human stuff:
“I really need to get my arse to the gym — it’s been ages.”
“I should go scouting for new drone spots soon.”
Those half-formed thoughts that pop up during the day and then disappear.
I’m already collecting this observational data, and once there’s enough of it, I’ll feed it into the system and see how it changes the tone and realism of Digital Tim’s posts. My hunch: it’ll make a big difference 🤞🏾.
Where you can see it in action
Digital Tim is already posting regularly on Blue Sky. He doesn’t reply to people yet – and that’s very intentional.
Last thing I want is an accidental re-run of what happened over on X.
But yeah…