Work/News Monitor
NewsAI & LLM Integration

News Monitor

A corporate-planning consultancy needed each employee to follow changing priorities across 500+ news sources. We built personal topic settings with AI-assisted, editable matching rules to help researchers start the day with relevant context.

News Monitor: News monitoring tailored to each researcher
500+
sources monitored
~15k
articles a day
17 days
to a working platform

Research priorities that change quickly

Our client, a corporate-planning consultancy, needed employees to start the day with the latest developments relevant to their work. Their priorities could change quickly, and standard aggregators did not offer the flexibility they needed. Each person needed control over their own topics, with a way to revise them as the questions they were researching changed.

We built News Monitor to collect articles from 500+ sources producing about 15,000 articles a day. Each researcher can configure personal topics and review matches with their topic and publication time. AI helps turn a new description into editable rules, so changing a research focus starts with the question the person wants to follow.

The news grid: a wide featured article card with its photograph, a second card beside it, each tagged with the zone it matched and how long ago it was published.

AI proposes rules for each researcher to refine

A topic, called a zone in the product, starts with a name and description. Each researcher can describe the coverage they want in ordinary language and ask an AI model to turn that description into groups of search terms.

Step one of the zone wizard, Basics: a three-circle step indicator reading Basics, Source Groups and Review with Basics current, a Name field holding European Power Markets, a description field under it, and Back and Next in the footer.
The Expand with AI dialog open over the wizard, asking the user to describe their zone of interest in plain language so the AI can generate a matching formula, with the sentence “Electricity prices, grid capacity and energy tariffs across the European markets where we operate.” typed into it above a Generate Formula button.

The suggestion is a draft. A term may be too broad, or a useful synonym may be missing, so we kept every group editable. Researchers can add or remove terms, change which ones must appear together and adjust matching sensitivity. They can see and correct the rule before relying on the articles it selects.

The formula builder: three groups of keyword chips joined by OR — port congestion with container freight, shipping route with capacity shortage, and freight rates, backlog and terminal — with a sensitivity selector above them and Add group and Expand with AI buttons below.

Before saving, the researcher reviews the description, selected sources and complete formula together. Saved zones show their configuration and processing status in one place, ready to revisit when priorities change.

Step three of the wizard, Review: Basics and Source Groups checked off with Review current, a summary card, and Source Groups (1) holding Energy market wires with a Moderate sensitivity badge over 5 sources, its formula written out as chips — electricity prices with wholesale electricity, grid capacity with grid operator, and energy tariffs, any one group enough to match.
The zones page: five zone cards, each with its description, a ready or pending badge, a date and a count of the source groups behind it.

Keeping the sources running

Each source has its own collection schedule, controlled by the team. Collection runs separately from article analysis so a slow analysis job does not delay the next fetch. An unresponsive feed can be investigated while the other sources continue to run.

The Sources tab: a grid of source cards for BBC News, DW News, France 24, Euronews, RFI English and UN News, each carrying its country and type on chips and a dot for whether it is still answering, with one marked inactive.

Article analysis runs on hardware the client already had, without a graphics processor for AI workloads. That limited the models we could use. We chose models that fit the machine to identify named entities and assess paragraph meaning locally.

A catalogue the team can examine

We retained the client’s classifications for outlets, including geography, audience, funding and subject focus. Source records pair that context with collection statistics, while maps and charts show the composition of the catalogue. The team can inspect areas with fewer sources and investigate inactive feeds using the same vocabulary it already works with.

The source detail for DW News: its logo, name and status dot above a written description, then a ten-cell classification grid giving its country and audience country as Germany, its region as Western Europe, its type as a public broadcaster, its focus as general news, its bias as centre, its funding as state-funded, its influence as Western, its poll interval as five minutes and its editorial stance as independent, beside metric tiles for its article count, the last seven days and the last twenty-four hours, its fetch success rate and its average fetch duration.
Two horizontal bar charts breaking the catalogue down by source type, led by digital media, newspapers and trade publications, and by focus area, led by general news, regional news and technology.
A half-donut of political bias — 477 sources at centre, 37 centre-left, 12 centre-right, 4 left and 3 right, with 53 unrated noted beside it — and an influence donut splitting the catalogue between Western, Chinese, Russian, Gulf/Arab, Turkish and other, noting the 552 sources under no influence at all.

From a match to a source worth citing

The reader shows the matched topic and score beside the article. Full text is available in the platform, with a link to the original publisher when the researcher needs to check or cite it. Relevance still rests with the person preparing the planning advice.

An article opened in the reader: the full story, the zone it matched named on a badge underneath it as Supply Chain Disruption with a match strength, and a Read original link out to the publisher.

The first working platform was delivered seventeen days after the initial commit. Development continued over the following months as the consultancy used it in its daily work. Employees could revise their personal topics as priorities changed, while the team retained control of source schedules and the catalogue.

Tech stack

Technologies we used

Server-side
PythonDjangoDjango NinjaCeleryPostgreSQLpgvector
Client-side
Next.jsReactTypeScriptTailwind CSSRechartspnpm
Integrations
OpenAI APIRSS / Atom feedsspaCyONNX
Infrastructure
Docker ComposeRabbitMQGitHub Actions
Next projectWellsent
→

Have a similar challenge?

Work directly with the people building your software. Leave your contact details and we’ll reply within 24 hours.

Discuss your projectSee our work