Hi, I’m media innovation journalist Ulrike Langer and you’re reading News Machines. If you get value out of my newsletter week after week, please consider upgrading to the premium version.

Left: Vestlandsnytt's tap-to-explore fact card for a fishing boat — readers reveal the vessel's specs section by section. Right: Kaja Distad, head of editorial development at Polaris Media Vest. Photo: Private
In February 2025, Kaja Distad built a parking calculator. New parking fees were coming to Kleppestø Kai, outside Bergen, so she made a small interactive widget — move a slider, see your parking fee — and published it in Askøyværingen, one of the ten local papers she works across. It took almost no time. “It was so easy, and it worked, and it really engaged our readers,” she said. The newsroom’s reaction told her this was a capability worth handing to everyone.
Distad is head of editorial development at Polaris Media Vest (PM Vest), the smallest AI lab inside Norway’s Polaris Media group. Her newsrooms run from south of Stavanger to north of Bergen; the smallest newsroom she serves is, in her words, “two and a half people.” That scale is usually framed as a handicap. Distad has turned it into an asset. At the Nordic AI in Media Summit (NAMS) in Copenhagen she showed how a lab that small built something most large institutions still struggle to deploy: a working system that lets non-coding journalists ship interactive tools themselves — with guardrails that keep it safe, and a deliberate line between code that’s meant to be thrown away and code that’s meant to last.

The widget that started it: Kaja Distad's parking-fee calculator in Askøyværingen. Readers move the slider to see what they'll pay at the Kleppestø quay.
Rung one: the disposable widget
The bottom rung is a custom GPT — PM Vest’s kodegenerator (“code generator”). By Distad’s own description it is deliberately unglamorous: a long prompt with example files for three output types, and freedom to improvise beyond them. No retrieval system, nothing wired into internal databases. The journalist supplies the input; the GPT returns a small, self-contained snippet. It inherits each paper’s design — colors, fonts — so the output looks native to the title it lands in.
Its most important feature isn’t the design inheritance. It’s that the tool knows its users can’t code. It walks them through every step — what to do, where to put the output, what each part means — and asks clarifying questions when it needs to. The finished snippet is static code wrapped in HTML and dropped into an isolated window in the article, through the same embedding system the papers used a decade ago to embed tweets. “It lives in its own little environment that’s external,” Distad said.
The results are genuinely varied. Vestnytt ran an interactive diary letting readers follow what one Ukrainian woman wrote before, during and after fleeing to Norway. Bømlo-nytt turned the annual kindergarten-satisfaction survey — normally a mess of hard-to-read statistics — into a sortable visual overview. Strilen built an interactive map of local schools threatened with closure, so readers can see the ones nearest them. Vestlandsnytt made a tap-to-explore fact card for a fishing boat. One journalist in Askøyværingen and Vestnytt built his own reader tip-boxes because he wasn’t happy with the standard ones — and his tips went up. The editor at Bygdanytt and Strilen built a custom app-download widget, and downloads rose.
The guardrails are the actual product
Anyone can make a visualisation in ChatGPT, Distad pointed out — that’s precisely her point. What not every newsroom has is the safe scaffolding to put that code into a live article. In an interview after her presentation, she told me her framework is mostly a definition of what is not allowed: no external packages, nothing that needs licensing. For maps, that means Leaflet, not Google Maps — because Google Maps gets expensive fast. And the hard boundary: no reader input. Journalists have asked for widgets that take input from the audience; PM Vest hasn’t allowed it. That, Distad said, is exactly where “quick vibe coding” stops.
This is the part worth copying. Generating code is the easy part — the GPT does that in seconds. The hard part was deciding, in advance, what a non-expert is allowed to ship without supervision. The guardrails are what convert a clever individual trick into a newsroom-wide capability.

Bømlo-nytt turned the annual kindergarten parent-satisfaction survey into a sortable visual overview, with each facility ranked and compared to the regional and national average.
“If it crashes in a week, we don’t really care”
The most common question Distad gets is about technical debt: What happens when the code breaks? Her answer is bracing. These are one-offs attached to single articles, and a news article’s value is usually spent in a day or two. The snippet is static and isolated — it sits on top of the article, it doesn’t touch anything underneath. If the widget breaks, the article itself doesn't. If the widget stops working and the newsroom notices, they pull it. If they don’t notice, no harm done, because the story has already done its job. “If it fails in a week,” she said, “we don’t really care.”
What makes this defensible rather than reckless is the second rung — and the rule connecting them: “If it’s going to live, it gets love.”
Sponsored - this section is where you can support the free version of News Machines. A click on the ad below is worth more than $2.
Global HR shouldn't require five tools per country
Your company going global shouldn’t mean endless headaches. Deel’s free guide shows you how to unify payroll, onboarding, and compliance across every country you operate in. No more juggling separate systems for the US, Europe, and APAC. No more Slack messages filling gaps. Just one consolidated approach that scales.
Rung two: agentic services that are built to last
When something needs to last — evergreen, scaled, connected to a live data source — it moves off the disposable rung into an agentic framework Distad owns and is personally responsible for. Here she mostly uses Claude Code and Codex, a framework with an AGENT.md or CLAUDE.md file at the center, plus skills, sub-agents, example files and MCP-servers. The output is real services: traffic alerts generated from one batch of code that adapts automatically to each paper’s coverage area; Slack alerts when an aircraft is in distress overhead or a public meeting is posted; a live bus-tracking service showing where the bus is and how late it runs.
Her on-stage demo made the pace concrete. Faced with the hypothetical scenario of a new pandemic, she ran the same widget-building framework three months and two models apart. The newer run — using Claude Opus — produced a usable interactive data feature in six minutes from a single prompt. She was candid about the flaws, pointing out a chart with the wrong technique and a mislabelled municipality. The point wasn’t that the output was perfect. It was that a two-and-a-half-person newsroom could now produce, in minutes, the kind of data-rich interactive page it once had to wait for a larger newsroom to hand down.

One data special, four mastheads: the same infection-tracking framework rendered in each paper's brand colours, localised to its coverage area. Built in six minutes with Claude Opus. Credit: All screenshots from Kaja Distad's NAMS presentation.
Does it work?
Distad is refreshingly unwilling to oversell. PM Vest has built hundreds of widgets but there has been no A/B testing yet on the same article with and without a widget; it’s been discussed, but not done. The clearest signal she’ll commit to is engagement, not raw clicks: The bus-tracking service is a hit with the 30-to-49 group PM Vest has long struggled to hold — the readers who buy a subscription and then drift away. The big news pages pull more total traffic, but the bus service pulls loyal, repeat use — which is the metric that matters for a local publisher trying to build a direct relationship before an AI-mediated future erodes it..
The approach is also spreading. The kodegenerator GPT has travelled well beyond the ten Vest papers — across other Polaris regions and even to Stampen Media in Sweden. Being the smallest lab, Distad argued, is what gives PM Vest its clear-eyed view of the low-hanging fruit the bigger labs step over.
PM Vest isn’t alone in seeing vibe-coded tools spread by adoption: Reroute NJ, the one-person pop-up site that Joe Amditis built on his own was embedded by three local New Jersey newsrooms during the road cutover it covered.
Distad closed with a line she credits to Ketil Moland Olsen, senior project manager at Media Cluster Norway: If you’re not embarrassed by your first version, you’ve deployed too late. For a newsroom of two-and-a-half people, that may be the whole strategy.
Five learnings for newsrooms
Sort by lifespan before you build. PM Vest’s real innovation isn’t the code generator — it’s the decision rule. Disposable, single-article widgets and durable, owned services are different products with different standards. Decide first which one you’re making to keep “move fast” from becoming “break things.”
The guardrails are the deliverable, not the code. Anyone can generate a widget in ChatGPT. What made it safe to hand to non-coders was the framework of constraints — no external packages, no licensing traps (Leaflet, not Google Maps), no reader input. Define what’s forbidden before you scale what’s possible.
Smallness can be the advantage. A two-and-a-half-person newsroom has a sharper view of the low-hanging fruit than a large institution weighed down by process.
Disposable code is fine if it’s contained. Static snippets in isolated windows can fail without touching anything underneath. Match the engineering effort to the news value: Most of these stories are spent in a day or two, and the code can be too.
Tools build the dialogue, not just the article. The quiet payoff is that journalists who can prototype finally share a language with developers. Letting reporters see what’s technically easy — and what isn’t — may matter more long-term than any single widget.


