Forgot your password?
We'll email you a link to choose a new one. It works for 30 minutes.
If that address signs in to HQ, the link is on its way. Check your inbox.
Choose a new password
At least 10 characters.
Fleet is polled every 60 seconds. Suspended stations aren't polled.
Station logs
What has been happening inside a station - the same log its own admins read under Utilities. Pick a station and something to look for.
Desk logs
Every desk's technical log, sent to its station as it goes: the Desk app's own log file, and a browser studio's errors and audio lines. Kept 30 days. Nobody has to email a file.
Server logs
Every container on a station's server: the studio's API, the stream, the web servers, the database. Read on the server when you ask, in about 5 seconds.
Diagnose
Say what went wrong. It reads the desk logs, the station and the code, then says what happened and what to do. A fix it writes waits for the owner's approval.
Support
Questions and tickets from stations. Answering one well is the documentation - the studio's assistant quotes answered threads when somebody asks the same thing again.
Who tickets can be given to
Names, comma separated. This is "whose job is this", not a login.
Support sessions
Video calls booked by station admins from their studio (Community -> Tech support -> Get support from Staircase Radio). They pick from the hours below. Join opens the room on their station - camera, mic and their screen share are in there.
When you're available
Days and hours stations can book, in your time (HQ_TZ). A session is one length.
staircaseradio.co
How people find the sales site, from our own Google account.
Platform settings
Set once here, used by every station. Nothing to edit on any server.
Website price
What staircaseradio.co shows, like £59/month. People are charged the Stripe price - change both together.
Google (Search Console & Analytics)
From the Staircase Radio project in Google Cloud - Google Auth Platform > Clients. Stations use it to connect their own Google account and see their search figures in the studio.
Facebook (going live on a Page)
From developers.facebook.com - the Staircase Radio app > App settings > Basic. Stations
connect their Page through it so the desk's Facebook switch makes the live post itself.
Valid OAuth redirect: https://hq.staircaseradio.co/facebook/callback.
A Business app ignores a plain permissions list; this configuration (pages_show_list, pages_read_engagement, pages_manage_posts) is what the login asks for. Not publish_video: Meta turned it down as not needed for a Page.
HQ admins
Who can sign in here. The owner (the address in the server's .env) always can. A new admin gets a password, emailed and shown once; Reset makes a new one; Remove takes them off.
Your password
Sales blog
The stories on staircaseradio.co/blog. Saving publishes instantly - no deploy needed.
Edit post
**double stars** make text bold. Lists: one item per line.
To do
Beta
DJs and admins from any station who joined the Beta programme (their studio -> Beta). They see what is being tried before everyone else and use the Beta Desk. What they send lands here: set a status, write back, and they see it on their Beta page.
Members
Company
Projections, value, people, roadmap - worked out from what you put in.Loading…
Website
staircaseradio.co. Open it ready to edit and change any words, picture or video on the page itself. Everything you change is listed below, and any of it can be put back.
Pictures and videos
Every place a picture or video goes. Pictures up to 15 MB (JPG, PNG, WebP, GIF, AVIF), videos up to 80 MB (MP4 or WebM).
Words you have changed
Every change
The last 80, newest first. Put back sets a thing to what it was before that change.
Releases
The process: force-update the test station from Fleet as often as you like; when enough has landed, publish a release here. Every station's admin then sees an Update button with your notes and installs when it suits them. The HQ Update buttons on Fleet still force-update.
What's new, without a release
Words for every station's What's new page when there is no code to install.
From the stations
Everything the stations have sent up: bugs their admins judged real, and feature ideas with their DJs' votes. Fix bugs, tick them, release once - the station's studio shows every status change within a minute.
Release these fixes
They all go onto the same release. Every station's admin gets an Update button; the DJs who reported them are told once their station updates.
Onboarding
The station setup: every screen a new station owner sees on their first sign-in, in order, full screen, with the real words and controls. Nothing saves. Play it from the start, or jump to a screen.
How it works
The whole loop in one line: stations report, you fix, you push code, you publish a release, stations press Update. Everything in the sidebar is one part of that.
The business as numbers, worked out month by month from what you type in. Revenue streams (stations, schools, the standalone desk, pubs…): a price and cost per unit, where it starts - a month, or a milestone - how many it reaches in its first year (ramped month by month), then growth and churn a month; one-off streams count sales. Seasonal, once a year is for customers who buy once inside a season (festivals paying for their month, May to September): the first-year number is how many buy that year, spread across the season's months, then growth and drop-off are per year. People: salaries by year from a start month. Roadmap: milestones and investments with a month and a cost, and to-do items given a roadmap month in their details. Settings: the first month, years, the value multiple, cash now. Company value at a year end is the recurring run-rate times the multiple plus that year's one-off sales. Click any bar for that month's or year's numbers. It saves as you type. Work it out turns it round: give each stream a share of the money and say the profit you want a year, and it works out what each stream has to sell, year by year, to pay the salaries, fixed costs and milestones - Apply writes that into the streams.
- The fix or feature is built and the code is pushed. Nothing has reached any station yet.
- Fleet → Update on your TEST station (Sunset Sounds) - a force-update installs the newest code on that one station only, silently. No release, no notes, nobody else sees anything.
- Test it there. Actually try the thing that was broken.
- Happy? Announce it: tick the fixed bugs on From the stations and press Release the ticked fixes - or, for changes with no bug behind them, write the notes on Releases and press Publish. This is the moment the fleet hears about it.
- Every station's admin now sees an Update button with your notes, and installs when it suits their schedule. DJs who reported a fixed bug are told automatically once their station takes it.
The order matters: publish the release BEFORE force-updating a station you want prompted - a station already on the newest code has nothing to install, so it never sees the button (the notes still show on its What's new page). And the Update buttons warn you if anyone on that station is live or mid-take.
Every station, its version and its health. The Update button HERE force-updates a station right now, without asking them - use it for your own stations or an emergency. Normally stations update themselves.
Every Desk app sends its own log file to its station as it goes, and a browser studio sends its errors and audio lines. Pick the station (or Desk logs on its card), then a desk or a DJ: times in the station's own time and UTC, search, Older for more, Live to watch new lines arrive every 4 seconds, Download .txt for the file. Lines written offline or before sign-in arrive later. Kept 30 days, up to 20,000 lines a desk a day. A Desk older than the one with this sends only the page's lines until it is updated.
Pick the station, a DJ or a desk if it helps, and
roughly when, then say what went wrong in your own words. It reads that station's desk logs, its server's
status and activity log, the bug reports and the code (main, and what changed lately), and answers: what
happened, why with the log lines, what to do now, and the fix. The steps show as it reads; Stop ends it.
Ask more underneath carries on in the same conversation, with everything it read still in hand. Each answer
shows what it cost; one question stops at $10 (ask it to carry on). Every HQ admin can use it.
The fix. When the code is at fault it writes the change and shows it, file by file. Open a
pull request (any admin) puts it on GitHub, where every pull request is type-checked. Only the owner sees
Approve and merge: it refuses while the checks run or after they fail, then merges into main and moves
stable with it when the two were level, so stations get it at their next HQ Update. Turn it down
closes it. It never changes a station, never touches .github/, and nothing reaches the code without the
owner's yes. It needs an Anthropic key, which the owner pastes on the Diagnose panel (it is Diagnose's own:
the studio assistant does not use it), and the GitHub token from Wording, which it reads the code with and
opens pull requests with: Contents and Pull requests: Read and write, and Checks: Read.
One board for everything sent up: bugs their admins judged real, and feature ideas with their DJs' votes. Filter by type, and by where it stands - Needs a look, In hand, Settled. For a bug: New means nobody here has looked, Working tells the station it is in hand and shows them your ETA, Declined says it will not be fixed, with your note as the reason. For a request: set considering, planned, building, done or declined and their studio shows it within a minute. When fixes are pushed: tick the bugs, press Release the ticked fixes, write the notes once - that publishes the release for you.
Publishing tells every station an update is ready: their admin reads your notes and presses Update when it suits them. This is also the door for changes with NO bug report behind them - push the code, write what changed, publish. One release per pushed version: if the version is already published, the new notes go on that release via the Bugs panel, or push new code first.
A message straight to the notification bell of every staff member at the stations you tick - maintenance windows, planned downtime, anything they should hear from you before they notice it themselves. Nothing to install, nothing tracked beyond whether an admin opened it.
The Community forum and station tickets. Questions answered here teach every studio's assistant; tickets carry a team member's name. Different from Bugs: Support is "how do I", Bugs is "it is broken".
A station that is already ON the newest code sees no Update button - there is nothing for it to install. Force-updating a station from Fleet and THEN publishing the release means that station skips the prompt entirely; the notes still show on its What's new page. Publish first, update second, and the flow reads properly.
Wording
Every word on a studio screen. Change one in the studio and it shows at every station at once, then is written into the code so no update can write over it.
Station notices
Lands in every staff member's studio notification bell at the chosen stations. A notice counts as read once one of that station's admins has opened it.