The school feed that ruined your calendar

You subscribed to the school calendar because you wanted to know about the two parents’ evenings. You now have 340 events, four of which are yours.

Institutional feeds are published for everyone at once. The school publishes every year group. The club publishes every team, every age band, every training session. The university publishes every lecture in the faculty. The council publishes the bin collections for the whole borough. None of them offer a filtered version, because filtering would mean knowing who you are.

So the feed goes in, your week becomes unreadable, and within a fortnight you untick it in the sidebar — which means you are back to finding out about the parents’ evening from a letter in a bag.

Copy the events that are yours, leave the rest

Mirror the feed into a calendar you own, and put a filter on the way through. The copy keeps only what survives the filter, so the calendar you actually look at holds four events instead of 340 — and the noisy original can be unticked for good, without losing anything.

The filters that do the work

Then make the survivors useful

The copy lands in a calendar you own, so it can finally behave like one: your own colour, your own alerts, shared with the other parent, and on every device without each of them subscribing to the feed separately. You can add your own events beside the copies — “leave at 5:30 to get there” — and the app leaves them alone, because it only ever touches its own copies.

Two rules that will save you a confused afternoon. A time-of-day window works by overlap, so a 7–9am event is kept by an 8:00–18:00 keep-window — part of it is inside. And all-day events are never matched by a time window at all, because they have no time of day; use the all-day switch to drop them. Otherwise a working-hours filter would quietly eat every holiday.

What this doesn’t fix

Title patterns are plain text, not regular expressions, so a feed that names things inconsistently will need a few patterns rather than one clever one. And a filter decision is final: #public and #private change how much of an event crosses over, not whether it does, so neither rescues something a filter dropped. If a filter is cutting too deep, widen the filter.

Get Calendar Mirror — $2.99 What it does

One purchase covers iPhone, iPad and Mac. No accounts, no ads, nothing collected. macOS 14 or iOS 17 and up. The Mac version is also free to build from source.

More use cases