Agadari: designing a news system for a region that deserves better
A case study in building the intelligence first and the interface second — taxonomy, AI pipeline and entitlements as data.
Most news apps in this region are cluttered, slow and built as an afterthought. Agadari was designed the other way around: a content-intelligence backend first, a distraction-free surface second.
Noise is the default
Readers in Iraq and the Kurdistan Region juggle dozens of channels, in several languages, with little way to express what actually matters to them. Keyword feeds are noisy; official notices get buried beside rumours.
The design question was not how should a feed look, but how can every reader say precisely what they care about — and trust what arrives?
Three systems working as one
A taxonomy engine
A fixed three-tier classification of everything that can be news, modelled as one self-referential table with PostgreSQL ltree — follow “Politics” and every niche beneath it follows automatically.
An AI content pipeline
Scraper → Verifier → Translator → Classifier, coordinated through a queue inside Postgres — no external broker.
A real-time delivery layer
Feed, push notifications, SMS and email — four interchangeable feed views built as one shared package.
Entitlements as data
Free, Pro, Premium and Legend tiers live in one table guarded by a database trigger — limits change without a deploy. Every new account starts with a 15-day Legend trial.
Twelve choices, three times
Twelve main categories, twelve sub-categories under each, twelve niche topics under each of those. The growth is the point: a reader can be as broad as “Economy” or as exact as a single niche — 1,728 addressable topics, one query each.
Addressable topics per tier
Documented before they were built
Every schema decision — primary keys, locales, entitlement semantics, the event bus — was written up in a versioned architecture report before production code existed. Twenty-one reports later, the reasoning behind the product is as inspectable as the product.
Built in public, version by version
A Next.js web app and an Expo mobile app, sharing one design system and one database schema.
Typical regional news app
- Keyword feeds
- Rumour beside official notices
- Interface first, data later
Agadari
- 1,728 precise topics
- Verification before delivery
- Intelligence first, surface second
Building civic or media infrastructure in the region? Let’s talk.
Ortaklık


Discussion
Comments are read by Kamiloo before they appear.