- Home
- Case studies
- Ajako Taja
Guided Labs product · News & media
Ajako Taja
How we built a news platform that follows many outlets every hour, recognises when they report the same event, drafts one article with every source linked — and never publishes without an editor's fact-check.
- Services
- AI development, SaaS development
- Technologies
- Next.js, React, TypeScript, Supabase (Postgres, pgvector, Auth, Storage), Google Gemini, Vercel, sharp
- Product
- Ajako Taja

Outcomes
Every article
is fact-checked and published by a person
Nothing on Ajako Taja is published automatically.
48 hours
same-story memory across outlets and languages
New reports of a covered story join the existing topic instead of creating a duplicate.
Every source
linked under “How outlets covered it”
Readers can check each article against the original reporting.
The challenge
Nobody has time to visit every news site, so important stories get missed. Feeds make it worse: a wall of content, some breaking, some days old, with little to tell a reader why a story matters.
Language models can summarise quickly, but they also produce plausible-sounding mistakes and can drift into an outlet's own wording. A news product built on AI has to be faster than a newsroom without giving up accuracy, attribution or respect for publishers' work.
Our approach
We designed the pipeline around one rule: the system prepares, a person decides. Every stage either narrows the work or checks it.
Collect and group
Stories are collected from hand-picked news feeds every hour. Reports of the same real-world event are grouped into one topic — by an AI model in most topic areas, by keyword matching in others. A same-story check then compares each new story with everything covered in the last 48 hours, using text embeddings plus a direct AI comparison, so the same event reported with different wording or in another language is recognised as one story.
Score, then approve
Each topic gets a confidence score — how many outlets cover it, how consistent their reports are, how recent they are, and whether they name the same people and places — and a velocity score for how quickly coverage is growing. Scores only rank topics for review. In some topic areas, stories already reported by several outlets in our own feeds are approved automatically within a daily cap; the team approves the rest, and nothing is written about a rejected topic.
Draft from sources only
A large language model (currently Google Gemini) drafts each article in its own words from what the outlets reported: a short lead, the key details and, where the reports support it, background. It reads an outlet's page only if the site's robots.txt allows it, never gets around paywalls, and never stores or republishes the article text.
Check automatically, then by hand
- A second AI pass compares every claim in the draft with the sources; unsupported claims are removed in one revision, and anything still unsupported keeps the article a draft.
- A copy check compares the draft word by word with every outlet's text; 16 or more identical words in a row triggers a rewrite.
- No more than two direct quotes of 30 words or fewer; single-source stories are flagged to the reviewer.
- Quality and content-policy checks hold back padded, hyped or harmful drafts.
- Finally, an editor checks the headline, names, numbers, dates and attribution against the sources — and only a person can publish.
The solution
Ajako Taja is live at ajakotaja.com. Every article lists the outlets it draws on under “How outlets covered it”, carries a byline saying it was drafted by AI and fact-checked by the team, and shows when it was published and updated. Readers choose the topics they follow, and corrections are handled under a published policy.
Featured images are not AI-generated: each story gets a credited, free-licence stock photo or a brand graphic rendered in code, and news outlets' photos are never used. Data reports — football results and end-of-day Nepal Stock Exchange prices — are written only from the provider's figures, with every number checked against the data before an editor sees the draft.
Ajako Taja publishes an editorial policy and an AI content disclosure describing all of this in detail.
Architecture
- Two Next.js applications on Vercel: the public reading site, and an editorial dashboard where the team approves topics, fact-checks drafts and publishes.
- Scheduled jobs run collection, grouping, drafting, image rendering and clean-up on staggered schedules, each with a time budget so long runs resume where they stopped.
- Supabase Postgres holds feeds, topics, drafts and published articles; pgvector stores story embeddings for the 48-hour same-story check.
- Google Gemini models handle grouping, same-story comparison, drafting and fact-checking; the text provider is swappable behind one interface.
- Images are composed with sharp in every size the site and social platforms need, rendered after publishing so editors aren't kept waiting.
- Unpublished data is cleaned up after three days; published articles are never deleted by the clean-up.