The AI Automation I Built That Paid My Rent Last Month
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