← Back to lab
ProductReleasedProject 02 / 03

Iași Daily

One short daily read for the city of Iași: what happened, what's disrupted, and what you could go and do. Built so you can finish it, then close it.

At a glance

  • Finishing beats volume
  • Personal filters that never hide danger
  • Matching made for real typing

Open Iași Daily

The question

Keeping up with a city means opening five local outlets, a ticketing site, the water company's notice page and the cinema programme. Could one calm page replace that habit, for someone who arrives with no explanation and no account?

What I built

A mobile-first page with three jobs and nothing else. Today: local, national and world headlines, re-summarised in Romanian, with an explicit end (Atât pentru azi, that's all for today). Plans: events sorted by when you're free (the weekend, weekday evenings, anytime) rather than by calendar. Now: streets closed and water, power or gas cut off, on a map.

The content is rebuilt every morning by an automated research pass that reads the sources itself, checks dates on venue and utility pages, and records what it couldn't reach.

Inside

How it looks in use.

Role
Sole designer, developer and owner
Built with
Python, an automated morning research pass, Vercel
Language
Romanian
Status
Released, refreshed every morning
A morning visit: the brief to its end, then plans for the weekend, then what's closed right now.
Today: a short brief per section, then an explicit end.
Today: a short brief per section, then an explicit end.
Plans: sorted by when you're free, not by date.
Plans: sorted by when you're free, not by date.
Now: what's closed or cut off, on a map of the city.
Now: what's closed or cut off, on a map of the city.
Settings: what you want to see, in plain words.
Settings: what you want to see, in plain words.

Up close

The details that carry it.

The day at a glance
The day at a glanceWeather, wind, air quality and sunset in one quiet strip, before any headline.
Disruptions on a map
Disruptions on a mapClosed and restricted streets drawn on the city itself, so a glance answers "does this affect me?"
Filters that stay with you
Filters that stay with youInterests, dislikes and your own areas are kept on your device: no account, no server profile. Disruptions are never filtered out.

Decisions that mattered

  • Finishing beats volumeA short brief with a clear end respects the reader's morning more than an endless feed.
  • Personal filters that never hide dangerInterests float stories up, dislikes drop them, your own streets sort disruptions to the top. But a water cut is never filtered out, and every hidden item is counted, so a badly chosen word can't quietly empty a section.
  • Matching made for real typingSearches ignore diacritics and match the start of a word, because nobody should have to type Păcurari perfectly, and because Romanian inflects too much for whole-word matching.

What I learned

Filtering is a trust problem before it's a technical one. The moment a filter can remove something, it has to show what it removed and why.

Project notes

This project is released, so you can try it right now. It keeps changing as I use it and learn from the people who do.

Something similar in mind?

Most of these started as a question I couldn't let go of. If you have one too, let's talk.

To IonutAn ideaWhat would you like to build?I've been wondering whether…I read every message myselfWrite →