Jump to content

7 AI Automations That Made Me Money Before I Finished My Coffee

From JOHNWICK

Real Python scripts I built to automate work, scale output, and make actual cash

Photo by BoliviaInteligente on Unsplash

At 20, I thought I had to hustle harder. So I was manually editing freelance proposals, organizing invoices, rewriting cover letters, and chasing data from dozens of places. Every task felt like a never-ending to-do list that ate up creative energy before I even started my real work.

Then, in one long weekend of caffeine, I flipped the script. I stopped looking at AI tools like magic and started wiring them into real workflows with Python. Some of these scripts took me under 20 minutes to build — and they’ve been running quietly in the background, saving me hours and bringing in consistent value.

Here are 7 real automations I built that made me money before I even finished my morning coffee. You can steal them, tweak them, or let them inspire your own. Let’s get to it.

1. Auto-Personalized Cold Emails That Landed Clients

Problem: Writing custom cold emails is time-consuming. Generic ones don’t convert.
Solution: I built a Python tool that automatically personalized cold outreach using a mix of web scraping, GPT-4o, and a templated pitch.

How It Works:

  • Scrape basic info from a LinkedIn profile or business site
  • Pass that data into a GPT prompt that rewrites a cold pitch
  • Send it via SMTP
import requests
from bs4 import BeautifulSoup
import openai
import smtplib
from email.mime.text import MIMEText

openai.api_key = "your_api_key"

def scrape_name(url):
    page = requests.get(url)
    soup = BeautifulSoup(page.content, "html.parser")
    name_tag = soup.find("title")
    return name_tag.text.strip() if name_tag else "there"

def generate_email(name):
    prompt = f"Write a short, friendly cold email offering web dev services to {name}. Make it casual but professional."
    response = openai.ChatCompletion.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content

def send_email(body, to_email):
    msg = MIMEText(body)
    msg["Subject"] = "Quick Question"
    msg["From"] = "[email protected]"
    msg["To"] = to_email

    with smtplib.SMTP("smtp.gmail.com", 587) as server:
        server.starttls()
        server.login("[email protected]", "your_password")
        server.send_message(msg)

# Usage
profile_url = "https://www.linkedin.com/in/sample"
name = scrape_name(profile_url)
email_body = generate_email(name)
send_email(email_body, "[email protected]")

Landed 2 freelance gigs the first week I ran it.

2. AI-Powered Invoice Generator

Problem: I hated manually generating invoices.
Solution: I used OpenAI to generate Markdown invoices and pdfkit to export polished PDFs — all triggered from a single CLI command.

import openai
import pdfkit

openai.api_key = "your_api_key"

def generate_invoice(client_name, service, amount):
    prompt = f"""Create a professional Markdown invoice for:
    Client: {client_name}
    Service: {service}
    Amount: ${amount}
    Include invoice number, date, and payment terms."""
    
    response = openai.ChatCompletion.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content

def convert_to_pdf(md_text, filename="invoice.pdf"):
    with open("temp.md", "w") as f:
        f.write(md_text)
    pdfkit.from_file("temp.md", filename)

# Usage
md_invoice = generate_invoice("Acme Corp", "Landing Page Design", 500)
convert_to_pdf(md_invoice)

Sent 10+ invoices this way and got paid faster.

3. Content Repurposing Bot (YouTube → Twitter Thread)

Problem: Great ideas from YouTube videos never made it into my content.
Solution: This bot summarizes any tech video and turns it into a Twitter thread draft.

from youtube_transcript_api import YouTubeTranscriptApi
import openai
import re

openai.api_key = "your_api_key"

def get_transcript(youtube_url):
    video_id = re.search(r'(?:v=|\/)([0-9A-Za-z_-]{11})', youtube_url).group(1)
    transcript = YouTubeTranscriptApi.get_transcript(video_id)
    text = "\n".join([line['text'] for line in transcript])
    return text

def summarize_to_thread(transcript_text):
    prompt = f"""Turn this transcript into a Twitter thread summarizing the key points clearly. Use thread formatting. 

Transcript:
{transcript_text}"""
    
    response = openai.ChatCompletion.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content

# Usage
url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
transcript = get_transcript(url)
thread = summarize_to_thread(transcript)
print(thread)

Drove 3K+ views to my newsletter via Twitter repurposing.

4. Resume Rewriter for Freelance Proposals

Problem: I had to adapt my profile for each new freelance gig.
Solution: I built a GPT-based script that rewrites my resume to match each project description.

import openai

openai.api_key = "your_api_key"

def rewrite_resume(md_resume, job_description):
    prompt = f"""
Here is my resume in Markdown:
{md_resume}

Here is the job description:
{job_description}

Adapt my resume to align with the job description using relevant keywords and keeping a professional tone. Return the updated version in Markdown.
"""
    response = openai.ChatCompletion.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.25
    )
    return response.choices[0].message.content

Helped me win 5 proposals by tailoring resumes in minutes.

5. Auto-Categorizer for Clients and Leads

Problem: My inbox was a mess of leads, clients, and junk.
Solution: I built a script to categorize leads based on their email body content using embeddings and clustering.

from sentence_transformers import SentenceTransformer
from sklearn.cluster import KMeans
import pandas as pd

emails = [
    "Hi Areej, I loved your portfolio and would like to hire you.",
    "Can you help with a web scraping task?",
    "Discount on hosting - buy now!"
]

model = SentenceTransformer("all-MiniLM-L6-v2")
embeddings = model.encode(emails)

kmeans = KMeans(n_clusters=2, random_state=0)
clusters = kmeans.fit_predict(embeddings)

df = pd.DataFrame({"email": emails, "cluster": clusters})
print(df)

Saved hours by auto-labeling incoming leads and following up faster.

6. Auto-Pricing Estimator for New Projects

Problem: I was manually quoting prices and wasting time.
Solution: This script estimates a project’s cost and timeline based on its description.

def estimate_price(project_desc):
    prompt = f"""You're a freelance developer. Estimate the time (in hours) and price (USD) to complete this project:

{project_desc}

Be concise and realistic."""
    
    response = openai.ChatCompletion.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content

# Usage
project = "Build a responsive portfolio website with 5 pages and contact form"
print(estimate_price(project))
Helped close deals faster with instant price estimates.

7. Passive Income Tracker Using Google Sheets + Python

Problem: Tracking affiliate sales manually sucked.
Solution: I connected Python with Google Sheets and automated tracking + analytics.

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope)
client = gspread.authorize(creds)

sheet = client.open("Income Tracker").sheet1

# Read and update data
data = sheet.get_all_records()
sheet.append_row(["August", "Notion Affiliate", "$120"])
Tracks monthly income streams and gives me clarity at a glance.

Final Thoughts

AI is not about replacing you. It’s about scaling you. These 7 automations aren’t gimmicks — they’re real scripts that saved me time and brought in cash. You don’t need to be an expert to start building like this. You just need to find a problem worth solving.

Pro tip: Always ask: What’s annoying me right now that AI could automate in 20 minutes?

Then automate it. The money will follow.

Read the full article here: https://blog.stackademic.com/7-ai-automations-that-made-me-money-before-i-finished-my-coffee-9413ddef9414