A server-rendered event aggregator with no build step, no framework and no client-side tracking. What follows is what it does that comparable services do not.
Three-state facts
Every attribute an event might have — price, whether it is online, who it is open to — is stored as yes, no or never stated. Most aggregators collapse the third case into one of the first two, so an event with no price becomes free and an event with no audience tag becomes public. tohode keeps the distinction and acts on it.
Filters that report their own cost
When a filter excludes events for lacking a fact, the page says how many it set aside. That count is built from the same query that produced the results, by one function, so the two can never end up describing different populations.
Nothing is invented to fill a gap
An event with no location reads “Location not posted”, never “to be confirmed”, because the second promises an update nobody committed to. Where a feed covers a single venue, that venue is declared by the source rather than guessed from prose.
Tracking is impossible, not merely absent
The
Content-Security-Policy sets script-src 'self'. No
third-party script can execute, which rules out every hosted
analytics product by construction rather than by policy. Usage is
counted on the server: no cookie, no stored IP address, paths
recorded without their query strings and a visitor identifier
re-salted daily so it cannot be followed from one day to the next.
Ingestion is polite by default
robots.txt is honored before any fetch. Geocoding is throttled to the rate the provider asks for, with misses cached permanently so a bad address is never retried. Outbound URLs pass an SSRF guard.
Negative results are kept
A directory of several hundred venues records which ones publish nothing a reader can use, so the same dead ends are not rediscovered every quarter. Knowing where there is no feed is worth as much as knowing where there is.
It knows its own coverage gaps
A search that returns nothing is recorded as a coordinate. The gaps are a work queue rather than an embarrassment to be hidden.
Private posting alongside public aggregation
An event can be visible to everyone, to friends or to one named circle. Aggregators do not offer this; social apps do not aggregate.
The data is yours to leave with
Deleting an account removes the events, RSVPs, friendships and circles immediately. Schema changes are append-only migrations verified against a copy of production before they run, and backups are proven restorable rather than assumed to be.