Il Blog di Dario D’Angelo.

Three projects for one client since 2023: a room full of maps, a rebuild of everything around it, and the app where it started.

Tech Artisan · March 2023 – now · iOS, web, backend

2026

Situation Room.

A live map of what shifts the balance in Europe and the world. A quiet radar most days, an emergency room when it isn’t.

It began in 2023 as a live blog, built for one night at a time.

What people see

The world, at a glance.

A live map of what shifts the balance, the same on the site and in the app.

Device mock · the live map, at night

Every country on one page.

Governments, parties and elections, with the people worth following.

Device mock · iOS, a country dossier

When the sirens sound.

Air-raid alerts, pushed by area and checked every minute.

Device mock · iOS, a siren alert

What’s underneath

Most of it is plumbing.

On the surface

The live map
On the site and in the app, drawn from one style
Country dossiers
Governments, parties, elections
Sirens
Air-raid alerts, pushed by area

Underneath

The registry
Every country’s politics in one CMS
Queues that never wait
Sirens run on a line of their own
A fact-checker with a calendar
Claude reviews facts as they come due

Where it comes from

Parliaments
Parline, 193 countries
Polls and live results
From Wikipedia tables to national feeds
Alerts and front lines
Official siren feeds, ISW maps

Three decisions

Sirens don’t wait in line.

Every kind of background job has its own queue. An air-raid alert never sits behind an election count or a nightly sync.

A fact-checker with a calendar.

Some facts expire: an interim government, a confidence vote, a term that ends. When one comes due, Claude checks the sources, updates the registry and emails the newsroom what it changed, or what it couldn’t decide.

Rules nobody has to remember.

No polls during the pre-election silence. No exit polls before the stations close. Majorities counted from the cabinet, never typed in. The backend enforces it, so nobody has to remember at three in the morning.

2026

The rebuild.

The website, the app and the backend underneath them, rebuilt together.

Different screens, one source.

What people see

The new website.

Cached close to readers, with every article from the old blog still in place.

Device mock · the new website

Articles, read aloud.

The iOS app, rebuilt in SwiftUI, reads articles to you sentence by sentence.

Device mock · iOS app, an article read aloud

What’s underneath

Different screens, one source.

On the surface

The website
Next.js, cached close to readers
The iOS app
Rebuilt in SwiftUI
The newsroom’s tool
Write once, publish everywhere

Underneath

One API
Swift on the server, one contract every client is generated from
One subscriber
Card, App Store or an old membership: the same person
Spoken articles
Read aloud, sentence by sentence

Where it comes from

The CMS
Payload and Postgres
The old blog
Every article from before, still readable
Payments
Stripe and the App Store

Three decisions

One contract, every client.

The API is written down once. The website, the iOS app and the newsroom’s publishing tool are generated from that description, so none of them can quietly drift away from the others.

Many ways to pay, one person.

Readers subscribe by card, through the App Store, or still hold an old membership. Underneath they’re one subscriber with one set of rights, wherever they open the blog.

Write once.

The newsroom writes a post once. It reaches the site, the app, the live blog and the socials without being pasted five times.

2023

The app.

The blog’s first app. Readers had followed it on the web for years; this put it in their pocket.

Where the whole channel started.

What people see

The blog, in your pocket.

Years of articles, in an app made for reading them.

Device mock · App 2023, home

Live, as it happens.

Live coverage one tap away, and a push for every new post.

Device mock · App 2023, live coverage

What’s underneath

A new door to an old house.

On the surface

The app
iOS, designed and built end to end
The blog
The website readers already knew

Underneath

One account
Members sign in with the account they already had
Push
New posts and live coverage, as they happen

Where it comes from

WordPress
Years of articles
Steady
Memberships

Two decisions

Build on what was there.

The blog already ran on WordPress, with memberships on Steady. The first app didn’t try to replace any of it. It read the blog people already followed, and let members in with the account they already had.

Feel before features.

I designed it and built it, start to finish. Getting it to work was the easy part. Getting it to feel right took longer, and that’s the part people write in about.

Where it surfaced.

3Projects for the same clientSince 2023

193Countries the registry can followChambers and seats from Parline

60 sBetween checks for sirens and live resultsEach on a queue of its own

NextiliadiOS Engineer · July 2024 – now · the app two million people opened in its first year

© 2026 Onnwen L.G. Cassitto L’Hostis