Jump to content

The AI Automation I Built That Paid My Rent Last Month

From JOHNWICK

Last month, I almost panicked when I looked at my bank balance. Rent was due in six days, freelance clients were late on payments (again), and I had no safety cushion. Instead of stressing out, I asked myself a question I usually reserve for side projects: “What problem can I solve fast?”

A beginner-friendly Python guide made for non-programmers. Start learning Python the easy way! That’s when I turned to automation. Within three nights of caffeinated coding, I built a system that quietly ran in the background and generated just enough income to cover rent. Not glamorous. Not a unicorn startup. Just a scrappy Python automation that did the heavy lifting while I slept. You can build something similar too.

Automating a Painful Process

The opportunity was staring me in the face. I’ve been writing Medium articles for over a year, and I had a pile of drafts, notes, and research files scattered everywhere: Word docs, Notion, and random text files. Organizing and repurposing them into short-form posts (Twitter, LinkedIn, dev communities) was taking hours each week.

I realized: what if I automated content repurposing? More reach = more traffic = more Gumroad sales = rent.

So I built an AI automation that:

  • Read through my content scraps.
  • Summarized them into short, shareable snippets.
  • Automatically posted them on schedule.

It wasn’t about building “the next AI tool.” It was about scratching my own itch, with the side effect of earning money.

Step 1: Parsing My Old Notes

My notes were a mess of .txt and .docx files. To automate, I first needed a pipeline to read everything.

from pathlib import Path
from docx import Document
def read_notes(folder):
    notes = []
    for file in Path(folder).glob("*"):
        if file.suffix == ".txt":
            notes.append(file.read_text())
        elif file.suffix == ".docx":
            doc = Document(file)
            notes.append("\n".join([p.text for p in doc.paragraphs]))
    return notes
all_notes = read_notes("drafts/")
print(len(all_notes), "notes loaded")

Now I had all my scraps in one list. Half the battle was done.

Step 2: Summarizing with AI

I didn’t want to dump raw notes online. They had to be punchy and useful. So I wrote a custom prompt and fed each note into GPT via API. import openai

def summarize(note):

    prompt = f"""
    Turn the following messy draft into a short, actionable tip
    for developers. Keep it under 50 words.
    Draft: {note}
    """
    response = openai.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content.strip()

This gave me clean snippets like: “Stop rewriting boilerplate. Automate setup scripts, you’ll save hours on every project.” I’d never have the patience to condense dozens of drafts like this manually.

Step 3: Posting Automatically

Here’s where it got fun. Instead of copying and pasting into platforms, I used tweepy (for Twitter/X) and requests (for LinkedIn’s API).

import tweepy
client = tweepy.Client(bearer_token="your_token")
def post_to_twitter(text):
    client.create_tweet(text=text)
post_to_twitter("Automate what you repeat. That's your biggest time-saver.")

LinkedIn required a bit more OAuth pain, but once I cracked it, both platforms were updating automatically every morning. I basically had a ghostwriter working 24/7.

Step 4: Tracking Traffic and Sales

Posting isn’t enough, you need to know if it’s working. I hooked up matplotlib with Gumroad’s API to quickly plot sales spikes against post times.

import matplotlib.pyplot as plt
times = ["Mon", "Tue", "Wed", "Thu"]
sales = [2, 5, 8, 12]
plt.plot(times, sales, marker="o")
plt.title("Sales Growth This Week")
plt.show()

That’s when I saw the magic: every time my automation pushed out a snippet, Gumroad traffic climbed. By the end of the week, the system had pulled in just over $450, enough to cover rent.

The Bigger Lesson

Was this some billion-dollar AI breakthrough? Nope. But here’s the thing most devs miss: automation doesn’t have to be huge. It just has to solve a real problem. The mistake I see everywhere: people chase flashy AI projects instead of looking at their own lives. My project worked because it was selfish, it solved my problem first. The money came as a side effect. Build something that makes your own life easier. That’s where the best ideas hide.

Final Words:

Now that my “rent bot” works, I’m expanding it, experimenting with Reddit posting, Discord hooks, and a dashboard to track engagement. The code is still messy (don’t judge my variable names), but it’s alive. The crazy part? I didn’t invent anything new. I just glued together existing tools. That’s what Python excels at, it’s less about syntax, more about leverage. If you’re stuck on what to build, ask yourself: What’s annoying me right now? Chances are, that’s your best project idea.


Read the full article here: https://ai.plainenglish.io/the-ai-automation-i-built-that-paid-my-rent-last-month-963139cbd7c4