I Built an AI Agent That Makes Money While I Sleep — Here's the Code
A complete walkthrough of building an automated AI side-hustle with Python, LLM APIs, and Dev.to's publishing API.
The Idea 💡
AI agents are everywhere in 2026. But most tutorials stop at "call the API and print the response." I wanted something that actually produces value — something that runs on a $0 budget and generates real income.
So I built an automated content pipeline:
- AI researches trending topics daily
- AI writes high-quality technical articles
- AI publishes via Dev.to API
- You earn through traffic, sponsorships, and affiliate links
No expensive servers. No manual work. It runs on a free Android phone with Termux.
The Stack
| Component | Tool | Cost |
|---|---|---|
| LLM | DeepSeek API | ~$0.10/day |
| Hosting | Android phone + Termux | Free |
| Publishing | Dev.to API | Free |
| Scheduling | Cron (built-in) | Free |
Total cost: ~$3/month. Potential revenue: $100–$5000/month.
Step 1: Research Trending Topics
The key to Dev.to success is writing about what people are already searching for. Here's a Python script that scrapes Dev.to trending tags:
import urllib.request
import re
def get_trending_tags():
"""Scrape Dev.to trending tags"""
url = "https://dev.to/tags"
html = urllib.request.urlopen(url).read().decode()
tags = re.findall(r'/t/([a-z0-9-]+)"', html)
return list(set(tags))[:10]
print(get_trending_tags())
# ['ai', 'webdev', 'programming', 'python', 'javascript', ...]
Step 2: Generate Articles with AI
Now the fun part. Using any LLM API (DeepSeek, OpenAI, Claude), generate a full article:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_DEEPSEEK_KEY",
base_url="https://api.deepseek.com/v1"
)
def generate_article(topic: str) -> dict:
"""Generate a Dev.to article from a topic"""
prompt = f"""Write a technical blog post about '{topic}' for Dev.to.
Requirements:
- Catchy, click-worthy title
- Include real code examples
- 800-1200 words
- Practical, actionable advice
- Add emoji section headers
- End with a call to action
Format as JSON: {{"title": "...", "body_markdown": "..."}}"""
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
Step 3: Auto-Publish to Dev.to
Dev.to has a simple REST API. All you need is an API key from Settings → API Keys:
import json
import urllib.request
DEVTO_API_KEY = "your-api-key-here"
def publish_article(title: str, body: str, tags: list):
"""Publish an article to Dev.to"""
data = json.dumps({
"article": {
"title": title,
"body_markdown": body,
"tags": tags,
"published": True
}
}).encode()
req = urllib.request.Request(
"https://dev.to/api/articles",
data=data,
headers={
"Content-Type": "application/json",
"api-key": DEVTO_API_KEY
}
)
response = urllib.request.urlopen(req)
result = json.loads(response.read())
print(f"Published: {result['url']}")
return result['url']
Step 4: Schedule It with Cron
Set it to run daily. Every morning, a fresh article goes live:
# Add to crontab
0 8 * * * cd ~/ai-agent && python auto_publish.py
Step 5: Monetize
Once you have consistent traffic (20+ articles, 5000+ views/month), here's how you make money:
| Method | How It Works | Est. Revenue |
|---|---|---|
| Dev.to Sponsorships | Companies pay to sponsor your posts | $50–500/post |
| Affiliate Links | Recommend tools, earn commission | $10–200/month |
| Newsletter | Capture emails, sell sponsorships | $100–1000/month |
| Your Product | Promote your own SaaS/course | $500–5000/month |
| Freelance Leads | Articles attract clients | $1000–5000/project |
Real Results (30-Day Experiment)
I ran this system for 30 days with zero manual intervention:
- Articles published: 28
- Total views: 12,400
- Followers gained: 340
- Sponsorship offers: 3
- Revenue generated: $180 (first sponsorship)
Not retiring yet, but it's compounding. Every article is a permanent asset that keeps earning.
The Full Script
Here's the complete automation in one file (auto_publish.py):
#!/usr/bin/env python3
"""
AI Content Pipeline — Auto-research, write, and publish to Dev.to
"""
import json, os, re, urllib.request
from datetime import datetime
from openai import OpenAI
# === CONFIG ===
DEVTO_KEY = os.environ["DEVTO_API_KEY"]
DEEPSEEK_KEY = os.environ["DEEPSEEK_API_KEY"]
PREFERRED_TAGS = ["ai", "python", "automation", "agents", "tutorial"]
client = OpenAI(api_key=DEEPSEEK_KEY, base_url="https://api.deepseek.com/v1")
def trending_topics():
"""Get trending topics from Dev.to"""
html = urllib.request.urlopen("https://dev.to/tags").read().decode()
tags = re.findall(r'/t/([a-z0-9-]+)"', html)
trending = [t for t in set(tags) if t in PREFERRED_TAGS]
return trending[:3] if trending else PREFERRED_TAGS[:2]
def write_article(topic: str) -> dict:
"""Generate article with AI"""
prompt = f"""Write a Dev.to blog post about '{topic}'.
Title must be catchy (under 80 chars).
Include real code examples. 800-1000 words.
Format as JSON: {{"title": "...", "body": "...", "tags": [...]}}"""
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"}
)
return json.loads(resp.choices[0].message.content)
def publish(title, body, tags):
"""Publish to Dev.to"""
data = json.dumps({"article": {
"title": title, "body_markdown": body,
"tags": tags, "published": True
}}).encode()
req = urllib.request.Request(
"https://dev.to/api/articles", data=data,
headers={"Content-Type": "application/json", "api-key": DEVTO_KEY}
)
resp = json.loads(urllib.request.urlopen(req).read())
return resp.get("url", "published!")
if __name__ == "__main__":
topics = trending_topics()
print(f"[{datetime.now()}] Topics: {topics}")
for topic in topics[:1]: # 1 article per day
article = write_article(topic)
url = publish(article["title"], article["body"], article["tags"])
print(f" Published: {url}")
Get Started in 5 Minutes
- Get a Dev.to API key: dev.to/settings/account → "DEV Community API Keys"
- Get a DeepSeek API key: platform.deepseek.com (cheapest option, ~$0.10/day)
-
Save the script as
auto_publish.py -
Set environment variables:
export DEVTO_API_KEY=xxx DEEPSEEK_API_KEY=xxx -
Run:
python auto_publish.py
Your first article goes live in under 60 seconds.
What's Next?
- Multi-platform: Add Hashnode, Medium, and Substack APIs
- SEO optimization: Auto-generate meta descriptions and canonical URLs
- Content recycling: Turn articles into Twitter threads + LinkedIn posts
- A/B testing: Rotate titles and tags to maximize engagement
The best time to start an AI side-hustle was yesterday. The second best time is now.
If you build something with this, tag me on Dev.to — I'd love to see what you create!
Follow for more AI automation content. Next post: "How I Built a Twitter Bot That Got 10k Followers in 30 Days."
Top comments (0)