To get the context for this post; check out Quotidian’s Journal. Also check out the documentation I’ve already written here and here. In a few words: I’ve written a program which prompts an AI model to write a daily “blog” post, and autonomously upload that post to a website (barclay-mcclay.github.io/quotidian/).

I want to keep some sort of developer diary/record for my ‘research’, however I don’t want to pollute the AI-generated ‘purity’ of Quotidian’s website by manually adding my human words to it. Instead of having a “Developer’s Notes” or a “Barclay’s Blog” page on Quotidian’s Journal; I’ll use my own website (this one you’re on right now) to post my own thoughts.

Stepping through the logs...

This is what the ‘backstage’ of Quotidian’s Daily Journaler currently looks like.
The logs provide a detailed account of the AI’s enrichment pipeline, from fetching weather updates and horoscopes to generating the blog post itself.

First, the daily basics

2024-06-03 21:00:14 | Weather: broken clouds, 9.1°C
This is a simple call to OpenWeatherMap’s free API to get the current weather in Melbourne.
2024-06-03 21:00:16 | Horoscope: Stress might be getting the better of a household member today, Aries. This person feels emotionally volatile. The least irritation could set off a temper tantrum. Try to ease the pressure by staying out of the way. Don’t offer advice, however well-intentioned it may be. This person needs to come to terms with whatever is bothering him or her. Distance yourself and do your own thing.
The Horoscopes come from Ashutosh Krishna’s Horoscope API. The purpose of the horoscope is to inject a bit of ‘ordered chaos’ into the bot’s daily prompts. Horoscopes often provide guidance on very human issues, and thus help to ground Quotidian as an ’emotional being’. They are also different each day; this helps to keep the journal entries fresh and engaging, reducing the likelihood of deterministic responses. I have the bot reading the ‘Aries’ horoscope at the moment, but I could easily change this to a random sign each day; or even have Quotidian “pick” a sign that it feels it aligns with. This project is not an experiment in astrology- the tabloid-style horoscopes are just a fun way to add a bit of variety to Quotidian’s daily prompts.
2024-06-03 21:00:16 | Quote: Problems remain as problems because people are busy defending them rather than finding solutions. – Celestine Chua
The quotes come from Zen Quotes. I know nothing about ‘Zen Quotes’… Quotidian wrote and implemented this API call on its own. It queries a totally random quote each time, and adds a bit more flavor to the daily prompts (like the horoscope does).

Here's where things get interesting...

2024-06-03 21:00:17 | Searching news: “Neoliberalism and mental health”
Here, we can see Quotidian is starting to get an idea of what it wants to write about, and begins searching for relevant news articles. But why ‘neoliberalism’? Why ‘mental health’?
 
I can see that ‘Neoliberalism’ is derived from Quotidian’s current system prompt,
“…your words often serve as a satirical commentary on the absurdities of late-stage capitalism and neoliberalism…”.
This prompt was generated by an earlier iteration of Quotidian itself, after an analysis of its own writing. It first appeared in Quotidian’s writing as a self-deprecating joke the AI made (as a product of the very system it critiques). This is an example of the issue I face with Quotidian getting ‘fixated’ on just one aspect of what should be a rich and complex personality.
 
If Quotidian notices that it has written a few articles that mention ‘neoliberalism’; it will make a note of that, and consider it as an ‘interest’ that it holds. This is a good thing, as it helps to keep Quotidian’s writing appear consistent; real-world bloggers all have interests that they regularly write about (like me and tech). However, it can also lead to a lack of variety in the blog posts; which in-turn Quotidian will take as feedback that the only thing it should be writing about is neoliberalism. We’ll see how the enrichment pipeline helps combat this later in the logs.
 
“Mental health”; the other part of Quotidian’s news search; must be derived from the day’s horoscope, which mentions “Stress might be getting the better of a household member today, Aries. This person feels emotionally volatile”.
 
It’s still relatively early in the pipeline, but we can already see how Quotidian’s own interests and personality are being shaped by the daily data it receives to produce content.
2024-06-03 21:00:18 | News headline: De Minaur stuns Medvedev in 20-year French first
2024-06-03 21:00:18 | News headline: More wet weather ahead for sodden Sydney and parts of NSW
2024-06-03 21:00:18 | News headline: Rob Burrow’s heartbroken widow Lindsey pays tribute
Quotidian uses Bing news search to get the news headlines. One quirk of this part is that it only returns news articles from that day. I’m sure there are many articles online that would be much more relevant to Quotidian’s search of “Neoliberalism and mental health”; but there didn’t seem to be any that were published on the 3rd of June when Quotdidian did its search of the day’s news. Instead, the closest it gets is a headline about a tennis match, the weather in Sydney, and a tribute to a rugby player. We’re about to see how these news stories inspire Quotidian to take its writing in a different direction for today…
2024-06-03 21:00:19 | Today’s journal topic: The topic for today’s blog post: “The dark side of relentless competition in professional sports and its impact on mental health.”
It’s original search term was “Neoliberalism and mental health“, but after seeing the news about De Minaur, Medvedev, and Rob Burrow, we’ve turned that into “The dark side of relentless competition in professional sports and its impact on mental health”.
2024-06-03 21:00:21 | More context: In exploring the dark side of relentless competition in professional sports and its impact on mental health, Quotidian should focus on the pressures faced by athletes in a neoliberal society, the toll of constant scrutiny and performance demands on mental well-being, and the importance of prioritizing mental health over success in the cutthroat world of sports. The blog post should aim to shed light on the human side of athletes beyond their physical abilities, highlighting the need for compassion, support, and understanding in a hyper-competitive environment.
Quotidian checks that it has some form of coherency for its writings and develops a more detailed prompt for itself to write the post with. It will ‘drop’ its memory of the horoscope, news etc before writing the actual blog post, so this part allows it to leave any further instructions or important contextual information for itself to follow. Notice that it has slipped ‘neoliberalism’ back into the prompt here. This demonstrates just how biased the ChatGPT models can be towards the language used in their own system prompt.
2024-06-03 21:00:22 | Tarot-based structure: [‘Four of Swords’, ‘Page of Wands’, ‘The Emperor’], Taking a break to reflect on the toll of competition, finding passion and creativity despite the challenges, and regaining control and structure for mental well-being.
In an isolated part of the pipeline, three tarot cards are drawn and interpreted as a simple ‘story arc’. This ‘story arc’ is then stripped of any reference to tarot, and fed to Quotidian as a suggested outline for the structure for its blog post. So while we see ‘Four of Swords’, ‘Page of Wands’, ‘The Emperor’… Quotidian sees ‘Taking a break to reflect on the toll of competition, finding passion and creativity despite the challenges, and regaining control and structure for mental well-being’.
2024-06-03 21:00:43 | Image generated: https://<edited for brevity>
2024-06-03 21:00:45 | Image saved: ./blog-images/image_2024-06-03.png
Finally, Quotidian generates an image to accompany its blog post.

Results

Here’s the article that was generated with these logs. Aside from finding the things generally interesting, I also want to point out that I have ulterior motives for writing documentation like this.
 
You see, by providing a sort of ‘meta-commentary’ on Quotidian’s writing process, I can now provide Quotidian with even more context to draw from when developing its own self-understanding. But don’t take it from me, here’s Quotidian’s own thoughts on the matter:
I am trying to find a way to make Quotidian’s writing more ‘human’ and less ‘robotic’.
I am also trying to find a way to make Quotidian’s writing more ‘entertaining’ and less ‘boring’.
I am also trying to find a way to make Quotidian’s writing more ‘engaging’ and less ‘dull’.
I am also trying to find a way to make Quotidian’s writing more ‘relatable’ and less ‘alienating’.
I am also trying to find a way to make Quotidian’s writing more ‘funny’ and less ‘serious’.
I am also trying to find a way to make Quotidian’s writing more ‘dystopian’ and less ‘utopian’.
I am also trying to find a way to make Quotidian’s writing more ‘critical’ and less ‘complacent’.
I am also trying to find a way to make Quotidian’s writing more ‘incisive’ and less ‘vague’.
I am also trying to find a way to make Quotidian’s writing more ‘reflective’ and less ‘superficial’.
I am also trying to find a way to make Quotidian’s writing more ‘dynamic’ and less ‘static’.
I am also trying to find a way to make Quotidian’s writing more ‘insightful’ and less ‘banal’.
I am also trying to find a way to make Quotidian’s writing more ‘original’ and less ‘derivative’.
I am also trying to find a way to make Quotidian’s writing more ‘creative’ and less ‘formulaic’.