The app opens on what you are riding
EpicRide has always opened on a map. You arrived, a route planner loaded, and whatever you actually came for was somewhere behind it. From today the desktop client opens on a Dashboard of what you are riding, and the planner is a place you go.
Behind that change is a new object: an event. A time, a roster, and the library records you ride.
The thing a route file cannot tell you
A GPX file is a shape. It cannot say who is coming, when you leave, where you stop for fuel, or which of the six people on the ride still has not answered. Riders have been solving that with group chats and screenshots for as long as there have been group rides.
An event is where those answers live. It has a start, a roster with roles, a schedule of stops, and the records it uses. It has a page you can link to — and so does every part of it, because organising is a sharing activity and an organiser pastes links all day.
One idea at four sizes
The temptation with something like this is to build the small version, then build a separate serious version later for the people running real events. We did not. A trip you are planning alone, a Sunday ride with friends, a tour operator taking clients out and a rally with waves and time controls are the same object, with different vocabulary and different capabilities.
The role ladder underneath never changes: owner, organiser, staff, participant, spectator. What changes is what you read. The row that says Rider on a group ride says Client on a tour and Competitor at a rally, and the person running it goes from Organiser to Operator to Promoter. One ladder, four vocabularies, no second product.
Which of those things you may do is decided by the server and sent with every event it hands you. The client renders that list; it never works it out for itself. So taking someone's role away takes effect on their next request rather than whenever their browser gets round to reloading.
Starting one should be cheap
Creating an event asks for a title and a preset. That is all. No date, no roster, no route — a trip of one should not cost more than saving a route does, and everything else is a decision you can make later or never.
There is a shorter path still. Anywhere the Library is on screen — the Library page, the picker inside the planner — a saved route now offers Attach to event, and the first button in that dialog is New trip from this. The route names the trip, the trip points at the route, and you land in its console. One click, from a line on the map to something people can be invited to.
Nothing is copied
An event stores which library record it uses and how: route, roadbook, waypoints, briefing, GPX pack, media, result track. It does not take a copy.
This is the same rule sharing has followed since the Library became one primitive: a reference, never a duplicate. The record stays yours, in one place, with one owner. Fix the route the night before the ride and it is fixed for everyone holding the link — nobody is riding last week's file.
There is exactly one exception, and it is the one that has to exist. When a rally is published, its documents are frozen at that version, because an organiser has to be able to prove what a competitor was handed. Trips, group rides and tours stay live references, because there a correction reaching everyone at once is worth more than a paper trail.
What the Dashboard shows
Three sections, in the order they matter: invitations waiting on your answer, what is running right now, and what is coming up. If you are new, all three are empty — so instead of an apology that page offers the three things worth doing, and gets out of the way.
What is next
The console covers the roster, the schedule and the documents. The live wall — the realtime map of an event in progress, the one screen that serves five friends and three hundred competitors — is the next surface, and it is where this gets interesting.
Read the Events page for what is there today.
