The 90/10 Split: How a Solo Developer Automated Almost Everything
When I started reapbountifully.com, I figured I’d spend hours every day writing, editing, optimizing, and publishing. That’s what blogging is, right? Sit down, stare at a blank screen, wrestle with words, fiddle with SEO settings, hunt for images, and finally hit publish.
Turns out, most of that is repeatable. And repeatable means automatable.
After a few weekends of building, I now spend about 30 minutes a day on this blog. The rest — roughly 90% of the work — is handled by a system I built with AI, a Telegram bot, and some clever glue code. Here’s exactly how it works.
The Full Pipeline: From Idea to Published Post
Before I break down the automated vs. manual parts, let me show you the entire pipeline from start to finish:
The Pipeline at a Glance
- Topic Discovery → Google Trends RSS + News RSS feeds →
/trendingand/discovercommands in Telegram - Topic Selection → I pick a number from the suggestions (or type my own idea)
- Briefing → Claude generates a briefing on the topic so I understand the context
- Opinion Layer → I add my personal take in Korean (“I think this matters because…”)
- Draft Writing → Claude writes the full post in English, incorporating my perspective
- Review & Feedback → I read the draft, send feedback via Telegram messages
- Revision → Claude revises based on my feedback (repeat as needed)
- SEO Setup → Yoast focus keyphrase + meta description set automatically by Claude
- Featured Image → Auto-downloaded from Unsplash, imported into WordPress
- Publishing → WP-CLI creates the post via SSH (publish now or schedule)
- Scheduling → Smart queue system: 3 posts/day at 07:00, 13:00, 22:00 UTC
That’s 11 steps. I’m directly involved in steps 2, 4, and 6. Everything else runs on its own.
What’s Automated (The 90%)
1. Post Writing — Claude via Telegram Bot
The core of the system is a Telegram bot I built in Python. I send it a message — usually in Korean — describing what I want to write about. The bot calls Claude Code CLI, which writes a full blog post in English based on my direction.
The key insight: I think in Korean, the blog publishes in English. Claude handles the translation and expansion seamlessly. A two-line Korean message becomes a 1,500-word English article.
2. SEO Setup — Yoast Focus Keyphrase + Meta Description
Every post automatically gets a Yoast SEO focus keyphrase and meta description. Claude picks the keyphrase based on the content and sets it via WordPress post meta fields. No manual SEO plugin clicking required.
This alone saves 5-10 minutes per post. Multiply that by daily publishing and it adds up fast.
3. Featured Images — Unsplash Auto-Download
Finding a good featured image used to eat 10 minutes every time. Now the system automatically searches Unsplash for a relevant image, downloads it, imports it into the WordPress media library, and sets it as the featured image. All in one step, all automated.
When I have my own photos (which I can send directly through Telegram), those take priority over Unsplash. The bot handles album uploads, SCP transfers to the server, and WordPress media imports.
4. Publishing — WP-CLI via SSH
No logging into WordPress admin. No copy-pasting into the editor. The system SSHs into my VPS, saves the content to a temp file, and uses WP-CLI to create the post with all the right parameters — author, category, status, date, everything.
wp post create /tmp/post.html
--post_title="My Post Title"
--post_status=future
--post_date="2026-06-22 07:00:00"
--post_author=1
--post_category=12
--allow-root
One command. Done.
5. Scheduling — Smart Queue System
This is one of my favorite parts. When I finish a post, the Telegram bot gives me three options:
- Publish Now — goes live immediately
- Schedule Next — inserts at the front of the queue, shifting all other scheduled posts back
- Schedule Last — adds to the end of the queue
The queue runs on three daily time slots: 07:00, 13:00, and 22:00 UTC. The “Schedule Next” option is especially useful for time-sensitive trending topics — I can bump a post to the front without manually rearranging everything.
6. Topic Discovery — /trending and /discover Commands
Two Telegram commands power my topic research:
/trending pulls the latest Google Trends data (US), shows me what’s hot right now, and Claude suggests 5 blog post angles that connect trending topics to my blog’s niches. Each suggestion comes with a catchy title, the source keyword, and the angle.
/discover goes deeper. It scans RSS feeds from Google News, NYT, BBC, Reddit, Bloomberg, and Hacker News, then Claude analyzes the headlines for keyword opportunities — topics that are emerging but not yet saturated. Each opportunity gets an urgency rating: write today, write this week, or write anytime.
Both commands end with numbered buttons. I tap a number, get a briefing, add my opinion if I want, and the post starts writing itself.
7. Keyword Research — Google Trends RSS + News RSS
The /trending command doesn’t just show keywords — it includes traffic estimates and related news headlines. The /discover command cross-references multiple news sources to find gaps. This isn’t a replacement for professional keyword tools, but for a solo blog, it’s surprisingly effective at finding what people are searching for right now.
What I Still Do Manually (The 10%)
Automation is great, but some things need a human. Here’s what I refuse to automate:
1. Final Review of Drafts
Every post gets read by me before publishing. Claude is good, but it’s not perfect. Sometimes the tone is off. Sometimes a section feels generic. Sometimes the conclusion doesn’t land. I read every draft and send feedback through Telegram until it feels right.
2. Adding Personal Opinions
This is the soul of the blog. When I select a topic from /trending or /discover, I often add a message like “한국에서는 이런 시각이 있어” (In Korea, people see it this way) or “나는 이 부분이 가장 중요하다고 생각해” (I think this part is the most important). Claude weaves these opinions naturally into the post.
Without this step, every post would read the same. The personal layer is what makes a blog a blog and not just an AI content farm.
3. Choosing Publish vs. Schedule
The bot asks me every time: publish now, schedule next, or schedule last? This is a strategic decision. Trending topics need to go out fast. Evergreen content can wait. I make this call myself.
4. Checking Analytics
I check Google Search Console and analytics manually. Which posts are getting impressions? Which keywords are ranking? What’s the click-through rate? This data feeds back into my topic selection — but the analysis itself is still a human task.
5. Strategic Planning
Deciding the blog’s direction, choosing which niches to double down on, planning content series — this is all me. The system executes, but the strategy is human.
The Numbers
| Metric | Value |
|---|---|
| Total setup time | A few weekends |
| Daily time investment | ~30 minutes |
| Posts per day (capacity) | Up to 3 |
| Human effort per post | ~10 minutes (review + feedback) |
| Lines of bot code | ~1,100 (Python) |
| External services | Telegram Bot API, Claude CLI, Unsplash, WP-CLI |
| Server cost | One $6/mo VPS |
The Philosophy: Automate the Repeatable, Keep the Creative
Here’s what I’ve learned: the hard part of blogging isn’t the writing. It’s the everything else. Finding topics, researching keywords, formatting posts, setting up SEO, finding images, publishing, scheduling — these are all repeatable processes with clear inputs and outputs. Perfect candidates for automation.
But the creative decisions — what to write about, what angle to take, what personal experience to share, when to publish — these require judgment, taste, and lived experience. No AI can replace that.
The 10/90 split isn’t about being lazy. It’s about being focused. I spend my 30 minutes on the things that actually matter: direction, voice, and quality. The system handles everything else.
If you’re thinking about starting a blog but worried about the time commitment — build the system first. A few weekends of setup buys you months of efficient publishing. The tools are all free or cheap: Python, Telegram Bot API, Claude, WP-CLI, Unsplash. The only real investment is your time building it.
And honestly? Building the system was the most fun part.