本文以英文发布。
Automating a Daily AI Content Pipeline With a Local Qwen3 Model
How a local Ollama pipeline finds, scores and drafts developer content each day, with a quick human approval step cutting three hours of work to about ten minutes.
A weekend experiment can end up as a daily habit, and this one did. It began with a developer-focused channel about AI tools: spot new tools, papers, launches and side projects, then turn the best into posts. In practice the routine ate close to three hours a day. Topic hunting, research, drafting, carousels, video scripts, captions and publishing all happened by hand, then started over the next morning. Repeating one identical chain of chores every day is a signal to script it, so that's what happened.
The daily pipeline
The result is a content pipeline driven by AI. It starts on its own each day, so the morning no longer begins with a blank page. Topics get found, researched and turned into drafts, and everything arrives ready for review.
Discover
↓
Research
↓
Validate
↓
Score
↓
Generate
↓
Review
↓
Publish
↓
Analyze
↓
Optimize
Raw material comes from several feeds:
- GitHub Trending
- Hacker News
- arXiv
- Product Hunt
- RSS feeds and blogs from AI companies
One run typically pulls in about 150 raw items. Most deserve no attention, so filtering comes next.
Filtering with a local model
A local Qwen3:8b model, served through Ollama, handles the first pass. For each candidate it writes a short summary and answers three questions: what is this, why would a developer care, and what could somebody build with it? A validation step then drops anything stale, misleading or plainly unhelpful, which already trims the list a lot.
Scoring instead of asking "is it interesting?"
A vague yes-or-no judgment from a model is unreliable, so every surviving topic gets numeric scores from 0 to 10 on six criteria:
- how useful it is
- how new it is
- value to developers
- search demand
- potential to earn money
- how easy it is to demonstrate
The ceiling is 60 points, and anything under 35 is thrown out automatically. Instead of wading through 150 links over breakfast, the reviewer ends up looking at about 5 to 10 candidates. That's where automation starts paying off.
One research pass, many formats
An approved topic doesn't just yield a paragraph. The system builds a full package from a single round of research:
- a ten-slide carousel that runs from hook to problem, solution, example, use cases, takeaway and call to action
- a short-form video script drawn from the same notes
- a caption and hashtags
- structured JSON that the publishing step can consume
Doing the research once and reusing it matters. Researching the same subject five separate times because five platforms need a post would defeat the point.
A person still decides
Humans stay in the loop on purpose. Software does the repetitive parts, while a person chooses what actually goes live. Review starts with one command.
uv run approve
The terminal then shows the topic, its score, the research, the carousel, the script, the caption and the hashtags. Each item can be approved, rejected or skipped. Work that once took a couple of hours now takes about ten minutes.
After approval, publishing is a single command.
uv run post
That step manages the publishing flow, database updates, status tracking and logging. A dry-run switch exists too.
uv run post --dry-run
With it, the whole workflow can be rehearsed end to end without anything being posted.
Learning from results
Automation is only half the goal. The next phase is optimization, where the system learns from what gets published. Useful questions include which topics earn more engagement, which hooks work better, which formats collect more saves and shares, and which subjects keep underperforming. Those answers can flow back into the scoring rules, so the long-term cycle reads create, publish, measure, learn, improve. Rather than just producing more content, the system should slowly get better at judging which content is worth making in the first place.
The stack and the cost
Tooling stays deliberately small: Python 3.11, SQLite, Ollama running Qwen3:8b, Pydantic, httpx and uv. Since the heavy AI work runs on the local machine, the monthly bill is zero dollars.
Before and after
The old flow was find, research, write, design, script and publish, roughly three hours of effort. The new one is review, approve and publish, about ten minutes, with research and generation running by themselves every day.
The aim isn't to swap creativity for AI. It's to automate everything around creativity that doesn't need a person. The longer-term target is a system that keeps discovering, creating, publishing, measuring and optimizing content, leaving the human free to decide what's actually worth saying. That part is the one being built now.