6 min read

Welcome Back to This Crazy Project

Ink style art of an old typewriter with a page with the word "script" typed
AI Generated - Flux Kontext Max

So I planned on releasing my second blog post a day or two after my first post about the AI experiment. Well, that was optimistic at best and extremely naive. It turns out there was more than a little research to do just to get the scripting working and that's without even touching video generation, approvals, and scheduling the messages.

I think my whole existence now revolves around going down rabbit holes online, specially created for overthinkers like me. I wanted to build something that wasn't overly complex but still delivered the quality outcome I had in my head. Turns out (if anyone has tried asking AI anything lately) that was a foolish expectation.

It's very doable, apparently, but my limitations in trying to express what I want in words, to a machine, are very real. I don't know how many times I've spat out a prompt to AI only to keep correcting it until it resembles what I actually wanted. And the other thing that drives me nuts is how AI will give you a page-long answer when you ask for something simple. I want to question nearly everything it writes, so I keep having to say "Just give me one step at a time so I can question it." It works sometimes, but after a few back-and-forth exchanges, it goes back into what I like to call "fuckwit" mode and just spews out everything again.

The reason I want it in steps is that AI isn't always correct, shocking, I know. You have to challenge its responses, even with these new "advanced" models (we're talking August 2025 here). I'm not too arrogant to admit I still need to learn more about prompting AI to deliver exactly what I want.

My Scripting Tech Stack

As the heading states, here's the "tech stack" I've chosen, along with my reasoning. The main driver for most of these choices was financial, but I didn't just go with the absolute cheapest option. I weighted price at 60% and quality at 40%. I opted for software that was either cloud-hosted, web-hosted, or in n8n's case, self-hosted locally on my laptop (for now but will have to change for Telegram to work properly). Here's what I've chosen to get to the point of automating a script:

Quick disclaimer: I've included links to the software I'm using. Some are affiliate links, and I might earn a little if you decide to use them. Using the links won't cost you any extra money. I didn't choose this tech stack based on the best affiliate payouts—I chose the stack first, then signed up for affiliate programs where available.

Perplexity - I'm using Perplexity as my AI LLM. I find it excellent for research, general chats, and AI tasks. It has access to the major models like Claude, OpenAI, Gemini, and Grok. I was using ChatGPT, but all these subscriptions started getting expensive, so I had to trim down to one LLM. Perplexity gives me the best of all worlds.

Supabase - This is my backend database for storing all the information needed to generate scripts. It'll also handle storage for the entire project—audio files, videos, the works.

GitHub - I created a GitHub account because Supabase requires it. I'm no tech genius, and my understanding is that this backs up my project so I don't have to worry about losing everything long-term. I could be wrong about this though, lol. I've set my GitHub to private because I don't really understand the public aspects like forking and whatnot.

n8n - I've dabbled in a few little projects before, though none got finalised because I'd get halfway through and think, "Why am I doing this? It's not fun, there's no financial gain, and I'm not confident the security would be sufficient to keep me out of jail." Anyway, during these experiments, I played with Make.com and n8n, and I just prefer n8n's flexibility and power.

Telegram - This handles the approval workflow (which I'll explain in a future post).

That's what I'm using to get to the scripting stage. If there is enough interest I can create PDF documents with full step-by-step setup guides for these platforms, free for anyone who subscribes to the blog.

Progress (Finally!)

So this past week, I've been "researching", and by researching, I mean mainly asking AI to do deep dives on the hundred questions that keep popping up in my head, not only these platforms but also the workflow itself.

The first hurdle I wanted to tackle was the scripting. I wanted it to use words that I would actually use, producing something that felt like me with the same tone, feeling, and intent.

After much overthinking, I came up with downloading six months' worth of text messages between my partner and me (genius, I know). From those six months of messages, I categorized them, cleaned them for duplicates, and separated them into three groups: morning, midday, and night.

Once I decided on using our actual text conversations as the foundation for creating scripts that sound like me, the rest went quite smoothly. Here's the flow I've created so far:

The Current Workflow

Step 1: Data Collection and Prep
I exported six months of text messages between Mel and I, then spent way too much time categorizing them into morning, midday, and night messages. I also cleaned out duplicates and removed anything that would make me look like a complete weirdo (well, more than I already do).

Step 2: Storage and Organization
All this data gets stored in Supabase, organized by time of day and message type. Think of it as a very romantic database of our conversations—if databases can be romantic, which they probably can't.

Step 3: The n8n Magic
Here's where it gets interesting. My n8n workflow:

  • Triggers at set times (morning, midday, night)
  • Fetches relevant example messages from Supabase
  • Sends these to an n8n node called OpenRouter which calls the OpenRouter API for AI's. I can chose an AI model as OpenRouter has a lot of the top models to choose from. The AI will then return a script in my writing style.
  • Stores the generated script back to Supabase
  • Sends me the script via Telegram for approval (because AI sometimes gets creative in ways I didn't ask for)
  • If I approve, it continues to the next step (which I'll cover in the next post)

The approval step was crucial, you don't want AI accidentally telling your partner you've joined a cult or decided to become a professional yodeler.

Where We're Heading Next: Voice Generation

So now I have automated script generation working (mostly), and the next mountain to climb is voice generation. This is where things get both exciting and slightly terrifying.

I'm using ElevenLabs for text-to-speech with voice cloning. The goal is to have these scripts converted to audio in my actual voice, so my partner gets a personalised voice message rather than some robotic text-to-speech that sounds like a GPS having an existential crisis.

The plan for the next blog post is to walk through:

  • Setting up ElevenLabs voice cloning (spoiler: it's surprisingly good and slightly scary)
  • Integrating the TTS API into my n8n workflow
  • Dealing with the audio file management (because apparently that's more complicated than I thought)
  • Testing the quality and making sure I don't sound like I've been possessed by a particularly articulate demon

Fair warning: I'm discovering that voice cloning technology has come a long way since the days when synthetic voices sounded like they were speaking through a fan. It's good enough now that I'm slightly concerned about the implications, but not concerned enough to stop this project.

Stay tuned for the next installment, where I'll either successfully clone my voice or accidentally create an AI version of myself that's somehow even more sarcastic than the original.


Subscribe to get notified when the next post drops, and let me know if you want free PDF setup guides while you're at it. Trust me, you'll want them if you decide to follow along with this madness.