How SGNews Replaced Manual Rewriting With a Five-Minute AI Editorial Pipeline, Found the Flag That Had Silently Stopped Its Feeds, and Kept a 100,000-Install App Fed
SGNews is a Singapore news app with more than 100,000 installs and a promise on its store listing: all of Singapore's top news, with summaries and key points at a glance. Keeping that promise meant a human rewriting every source article by hand. Epiphany Dynamics built a pipeline that takes an article from a source feed to a published, summarized, key-pointed post in minutes, then found and fixed the hidden configuration flag that had quietly stopped feeds from fetching anything at all.
SGNews
- Built
- RSS-to-rewrite-to-WordPress editorial pipeline, feed recovery, source hardening
- Sector
- Custom Workflow Automation
- Site
- sg.news
Google Play: 100K+ installs, 4.5+ stars, 3,300+ reviews. Store listing: all of Singapore's top news, with summaries and key points at a glance.
A Singapore journalist or content writer costs a median SGD 4,000 a month. A small newsroom of three produces a median eight stories a week. Source: Pew Non-Profit News, 2011. SGNews needed dozens of stories a day, rewritten with a consistent house format, from more than a dozen sources, without an editorial staff.
About 350 articles a day published through the pipeline is roughly 300 times that median three-person newsroom output.
87% of Singaporeans get news online. CNA, Mothership, and Straits Times each reach 44 to 47% of the population weekly, and only 17% pay for online news. Source: Reuters Institute Digital News Report 2026, Singapore.
The existing setup pulled feeds into WordPress through an automation plugin, but the rewrite step was manual and the plugin had, unknown to anyone, set an "end of items reached" flag on 13 feed and campaign combinations that told every subsequent scheduled run to skip processing entirely. Feeds looked configured. Nothing was coming through.
-
01 Intake
The WordPress automation plugin pulls each source feed as a draft, full article body scraped where the source exposes it.
-
02 Selection
A five-minute cron picks up unprocessed drafts with proper pagination, so the queue advances instead of re-reading the same 25 posts.
-
03 Rewrite
An editorial pass returns a rewritten headline, a three-sentence summary, three key points that add new specifics rather than repeating the summary, source attribution, and keywords.
-
04 Grouping
Story-group matching so follow-ups on the same story land together; a title-similarity check skips a new draft when the same story is already published.
-
05 Filtering
A Singapore keyword filter on international feeds so world news only publishes when it mentions Singapore; an official source tag for government feeds.
-
06 Publish
The post goes live in the new format; error logging, prompts, and digest timing live in a config file the client can edit.
The flag nobody could see
Juan messaged that he had not seen a new article on production. The cause was not the pipeline. The feed plugin had set an end-of-items flag on 13 feed and campaign combinations, and every scheduled run was reading that flag and skipping straight past processing. Cleared the flags, triggered a run, and the first article came through the full pipeline minutes later, from a source feed to a published post with key points pulling net-new specifics. Then the same fix was applied to six more feeds the dormant-campaign audit had recovered.
Sources that fight back
The per-source audit found what a feed list cannot tell you: one major outlet blocks datacenter IP addresses at the network level; another's RSS returns titles with empty bodies and needs browser emulation; a paywalled feed returns empty content; a government portal migrated frameworks and killed its RSS endpoints; five AP campaigns had been dead because the link-extraction selector broke in a site redesign, fixed by switching to regex extraction. Juan asked up front what a selector break would cost to fix and got a per-incident price, not a retainer.
"Patrick is exactly the kind of developer you hope to find but rarely do. Thorough, honest, and genuinely invested in the outcome. He delivered a production-ready AI pipeline, uncovered and fixed a configuration issue that had been silently killing 35 campaigns, and handed everything over with clear documentation. Every question got a straight answer, every problem got a clean solution. Highly recommend and will definitely be back."
Juan Minatta
Founder, SGNews
"Just reviewed the new articles on staging and honestly the quality difference is night and day. The key points are now pulling real quotes, specific names, dates, and data that genuinely add value beyond the summary."
Juan Minatta
Upwork message, 2026-05-06
- How many articles has the pipeline published?
- 47,277 posts were published since 2026-05-07, the day the pipeline went to production, through 2026-09-12. About 350 articles a day in the week of 6 to 12 September 2026. Counts are from the public WordPress API.
- What was the silent configuration issue?
- The feed plugin had set an end-of-items flag on 13 feed and campaign combinations, so every scheduled run skipped processing. Feeds looked configured. Nothing was coming through.
- Does the pipeline write original reporting?
- No. The pipeline rewrites source articles with attribution, a summary, and key points. It is not original reporting.
Need a newsroom that keeps up without a newsroom?
Get a free audit of what should already be automatic.
Free 30-minute audit. No obligation, no pitch. Or take the 2-minute AI quiz.