Man, I gotta tell you about the last month. I was sitting here, staring at the screen, just totally fried from dealing with complex stuff that kept falling over. I just wanted a simple win, something stupid and fun that actually worked for a change. I mean, my buddies are all wrapped up in these endless dating apps, complaining about mismatches and ghosting. I looked at that whole mess and thought, “I bet I can automate a better, dumber form of relationship advice than that whole enterprise.”
So, I decided to build a fake daily love message system, specifically for Virgos, because my sister is a total Virgo nutjob and she was my first target audience. I had this ancient, neglected database instance running on a virtual machine—I call it my ‘OracleB’ because it’s so barebones it’s barely an Oracle at all. I opened up the SQL console and just started hammering away.
The Scrape and the Spreadsheet Mess
First thing first, I needed content. I wasn’t going to sit around typing deep philosophical insights. I spent two solid days just scraping the web. I wrote a quick, messy Python script that crawled about ten different astrology sites, pulling out everything related to ‘Virgo love,’ ‘daily match,’ and ‘soulmate signs.’ It was a chaotic pile of text. I mean, terrible data. Lots of duplicates. I ended up dumping it all into a massive Excel sheet and manually went through, cleaning up all the garbage lines and sorting them into three main buckets:

- ‘Green Light’ (Go talk to them)
- ‘Yellow Light’ (Maybe wait a day)
- ‘Red Light’ (Run away fast)
That spreadsheet was my whole world for a minute. Once I had about 500 unique, albeit cheesy, little messages, I moved on to the real system.
Building the Janky OracleB Core
I built four simple tables in the OracleB instance. One for the messages, one for the ‘match data’ (which I invented), one for the recipients (just my sister and a few friends), and a log table to track what message was sent on what day so they wouldn’t get the same garbage twice in a week. I configured the connection string, which always gives me trouble because I never remember the port number, but I finally got it working after twenty tries.
The core mechanism was simple: I wrote a stored procedure. This thing was a Frankenstein monster. It took the current date, checked the recipient’s sign (hardcoded as ‘Virgo’ for now), performed a random selection from the message table, compared it against the log, and then spat out the message ID. It wasn’t fast, it wasn’t elegant, but it did the job.
The biggest headache was the “Find Your Soulmate Match Now!” part. That’s a huge promise. I can’t actually find a soulmate. I just needed to simulate a match. So, I developed a totally arbitrary matching algorithm. It used the current Julian day number, hashed it against a secret number (which was just the year 2024), and returned another zodiac sign. If it landed on Pisces or Taurus, it was a “Soulmate Match!” Totally random, totally nonsense, but it looked convincing when the message came through. I mean, who is going to check my math?
The Delivery Drama and Final Product
The last step was the delivery system. I used a small, dedicated Python script. It connected to the database, ran the stored procedure, pulled the text, and then used the simple email library to shoot it out. Simple, right? Wrong. The script kept timing out because the VM was so slow. I had to increase the timeout to like, ten minutes, just for a three-line email.
Then came the automation. I set up a Cron job on the VM to run every morning at 6:00 AM. For three days straight, it failed because of pathing errors. I was pulling my hair out. I reconfigured the user permissions, changed the shell command three times, and finally, on the fourth morning, my sister texts me: “This is great advice! Should I quit my job?” I texted back, “NO.” But the system had worked.
Now, every morning, my little OracleB churns away. It’s ridiculous and poorly coded, the advice is probably harmful, and the soulmate match is a total fake. But it reliably delivers the daily Virgo message. It just proves that you can take old, clunky tools and force them into doing something entirely silly and modern. I mean, my sister thinks I’m a wizard. I just pushed a lot of poorly formatted text through an ancient pipe and people think I’m helping them find true love. That’s the power of automation, I guess.
