Transit OS
01

Rider pages

Your timetables on your own domain, reading the schedule the dispatch board reads. They cannot disagree.

  • Your domain with automatic SSL, or ours until you have one.
  • 64 KB and four requests on a phone, with no JavaScript — it opens on one bar of signal at a rural stop.
  • Five palettes and four typefaces, each contrast-checked. A colour of your own is refused if a rider could not read it.
  • GTFS, GTFS-Realtime, robots.txt, sitemap and llms.txt, served without anybody configuring anything.
prairielinetransit.orgYour domain

Prairie Line 1 · Eastbound · weekdays

MillbrookSarnoHallett JctDepot
05:5206:1106:3606:58
09:1509:3409:5910:21
14:4014:5915:2415:46
17:2517:4418:0918:31

Same schedule as the dispatch board. There is only one.

02

Your own pages

Fares, how to ride, who to call — the questions your office answers on the telephone every week.

  • Blocks of plain text. No rich-text field and no embed box, so nothing on your site can become a script.
  • Timetable and notice blocks read live data, so a page cannot drift from what you are running.
  • A health meter on every page: reading level, undescribed pictures, untappable telephone numbers, download weight.
  • Writing help drafts in the words you chose in Brand Studio, as a suggestion beside the page. It refuses to invent a fare.
Pages · How to rideDraft
92Reads well
7.1Grade level
64 KBOn a phone

Text

Ring the office by four o'clock the day before…

Questions and answers

3 questions riders actually ask

Telephone bar

(555) 010-0142 · sticky on a phone

Service notices

Whatever is in force today

Plain text only. Nothing here can become a script tag.

03

Service notices

One notice reaches the rider pages, the realtime feed and your list at the same moment.

  • Drafted from the incident note so nobody retypes it, stored as a draft and marked as one.
  • Nothing is ever published automatically. Not ever.
  • Expired notices come down by themselves rather than frightening people six weeks later.
Alerts · New noticeNot published

From incident #204 · crossing obstruction

Draft — nothing is sent until you send it

Prairie Line service between Millbrook and Hallett Junction is stopped while a blocked crossing at County Road 12 is cleared. Riders should expect delays of up to an hour. We will post an update by 09:30.

Publish noticeEdit
04

Your list, and letters to it

Riders, supporters and volunteers, each with their own list — and each of them asked to be on it.

  • Double opt-in on every path onto the list, including addresses your staff type in.
  • One-click unsubscribe with no login and no survey. It works on the first press or it does not work.
  • A season ending or a notice published raises a draft. It is never sent for you.
  • A send that fails halfway resumes where it stopped. Nobody receives the same letter twice.
Letters248 on the list

Drafted by a moment · not sent

Last chance to ride the Autumn Excursion

The EXC runs until 26 October. [Say what makes it worth a trip.]

Riders186confirmed
Supporters51confirmed
Volunteers11confirmed
Waiting to confirm4pending

Nobody is written to who did not ask twice.

05

Being found, and being answered correctly

We fetched seven small agency and heritage sites in August 2026. Not one carried a line of structured data, so an assistant asked how to book a dial-a-ride has nothing to read and guesses.

01

Structured data as standard

Your organisation, your pages and your questions, in the format search engines and assistants read.

02

An llms.txt of your own

What your service is, how to book it, and where the machine-readable feeds are — in plain sentences.

03

A review that names the fix

Graded across being found, machine readability, what riders read, accuracy and speed. Every finding says what a rider experiences because of it.

04

A board for somebody else's site

One iframe gives the county or the hotel your next departures. Under 2 KB, no script, always current.

05

Printable from live data

The handout on the noticeboard prints from today's schedule, not from a PDF made once in 2016.

06

Counting visits, by ID only

Paste an identifier, never a block of code. Whatever you switch on is named in your footer automatically.

What we measured, and the five fixes →

Close view of weathered working hands holding a creased paper timetable annotated in pencil, resting on a denim-clad knee.

See it with a real timetable in it.

The demo agency's rider pages are live, on our address, built from the same schedule as its dispatch board.