What's new
Changelog
29 August 2026
Every face opens a door
- FunctionIn Sandbox Mode, clicking any writer on the practice board now opens their full profile page, with their banner, photo, story, town, and society. Before, the page behind the card said the profile was private.
- DecisionOutside Sandbox Mode those pages do not exist, on purpose. Practice writers live only in the practice world.
28 August 2026
The village has faces
- FunctionSandbox Mode's writers' board is now a full room. Two dozen fictional writers with photos, banners, regions, genres, and their own one-line stories, ready to browse, filter, and sort, so anyone can feel what a busy WritingRoom looks like without a single real person's data on screen.
- DecisionThose writers are practice people. They live only in Sandbox Mode and in the demo camp. They never appear on the real Billboard, and a test fails the build if one ever could.
28 August 2026
When the app says saved, it saved
- Bug FixSmart Catalog Import was failing for every label, every time. It works again, and it only says Imported once your songs are actually there.
- Bug FixSaving your profile could show a warning that some fields did not stick even when the save worked. The check was reading an old copy of your record. It now reads the real one, and a save that truly fails says so plainly.
- Bug FixA session invite code could be shown before it was really saved, so a good invite could read as invalid or expired. Every invite is now proven saved before you ever see the code.
- Bug FixOpening a song from Since You Were Last Here reloaded the whole app and could fail. It now opens the fast way your Library already does.
- Bug FixSome roster details, like chemistry notes, tags, pairing history, and the bringing an instrument checkbox, could silently vanish on reload. The record book now has a place for every one of them, and roster saves check their own work.
- DecisionEvery save in WritingRoom is moving to one rule. The screen only says saved after reading the record back and finding it true.
28 August 2026
Put yourself on the board
- FunctionThe Billboard now invites you in. If you are not on the board yet, a small card offers to publish your profile right there, with one button. The moment it works, you see your own card the way other writers will see it.
- FunctionNew writers get asked once, plainly, at the end of profile setup: put me on the Billboard so other writers can find me. It starts unchecked. Your call, always.
- DecisionBeing findable stays your choice. Nobody appears on the Billboard without saying yes, and nobody can type an email address to find out whether someone is a member.
- FunctionPublishing now checks its own work. If the save does not stick, you are told plainly instead of being shown a success that did not happen.
28 August 2026
One press, one moment
- FunctionWhen someone presses Write That Down, every phone in the room keeps its own clean recording. Those used to show up as a pile of separate memos. Now they arrive as one moment card with everybody's name on it. Play them together and hear the room, or tap one name and hear just that voice.
- DecisionThe voices in a moment are never mixed into one file. Each voice stays its own clean recording, so anyone can be heard alone and everyone stays in charge of their own sound.
- Known IssueA clip that is part of a moment cannot be deleted or pinned from the card yet. A way to remove your own voice from a moment is coming.
28 August 2026
Fixes from the field
- Bug FixThe roster import could not read any spreadsheet, not even its own template. WritingRoom now reads CSV files itself, right in your browser, so your writer list loads every time.
- Bug FixSending a song to camp now says Submitted to the camp the moment it lands. Before, a successful send could show only a note about a missing demo, which read like a refusal. The demo note still appears, after the good news, and reads as a suggestion.
- CosmeticThe signing window was see-through on phones, with the page showing through the form. It now sits on a solid panel, the same one the rest of the app uses.
- Bug FixIf an invite link fails because our side could not check it, the page now says that plainly instead of blaming your link. A truly wrong code still says the link was not found.
27 August 2026
The phone finish line
- FunctionThe song page now carries the whole finish line. Set your own share, sign the sheet, and send the song to camp, right from the song page, on a phone or a computer.
- FunctionSigning on a phone uses the same signature window and the same rules as the desktop. If a sheet is not ready to sign, the page says so in plain words.
- DecisionSending to camp now has two doors, the song page and the editor. Both run the same checks and write the same record, so it does not matter which one you use.
27 August 2026
Nothing fails in silence
- Bug FixSending a song to camp could leave the button stuck on Sending forever if the save ran into trouble. The button always comes back now, and the screen tells you what happened.
- Bug FixIf your pad stops saving, WritingRoom now says so instead of staying quiet while work sits unsaved. One brief hiccup stays silent. Real trouble shows a plain sentence, on the phone too.
27 August 2026
Add writers you already know
- FunctionAdding a writer to a camp roster now starts with the people you already know. Start typing a name and your past co-writers, previous camp rosters, and your own standing roster appear, with photos and one honest line of context, like how many times you have written together. Pick one and they are added complete, nothing re-typed.
- FunctionAdding someone brand new still works, exactly as before. If the name or email you type looks like somebody you have already worked with, the app asks first, in plain words, and you decide.
- Bug FixIn the Rooms view, finishing a move no longer misfires when your tap lands on a writer already sitting in the room. While a move is in progress, a tap anywhere in a room seats your writer there.
26 August 2026
See the rooms the way you think about them
- FunctionCamp rounds gained a Rooms view next to List and Grid. Each room is a soft card with its name, its status, and everyone writing in it shown as a small photo and name, so you can see who is where at a glance.
- FunctionMove a writer by dragging their chip into another room or onto the bench. If dragging is awkward on your device, tap the writer once, then tap the room. Moving someone in a round that has already been told to its writers asks you first, in plain words.
- FunctionNothing about how rooms get built, filled, or released has changed. This is a new way to see and arrange what you already had.
26 August 2026
Walk into your society with every answer in hand
- FunctionEvery song now has a Register this song section. It checks what a registration needs and says, by name, what is still missing, like a writer with no IPI number yet.
- FunctionA small form collects the handful of details registration forms ask for: performing artist, duration, language, alternate titles, and each writer's role, spelled out as music, words, or both.
- FunctionThe registration packet is a printable sheet with your song's information laid out in the order the ASCAP and BMI forms ask for it, plus a page for any other society. One writer registers, and every co-writer's information rides along. WritingRoom prepares the registration and never files it.
26 August 2026
Finding your way around
- FunctionCamps, the Billboard, and a song's Split Sheet tab now offer a quick sixty second tour the first time you visit. It only ever asks. Say no thanks and it will not ask again.
- FunctionAny of these tours can be brought back from Settings, right next to the welcome tour button.
- fixFixed a spot in the song editor where a reply notification could overlap the Key and BPM controls.
26 August 2026
Fixing dead ends and finding the right words
- fixThe Library's Open the write button no longer sends anyone to a page that does not exist. It opens the real song page, the same way every other link in the app does.
- fixCamp session cards now say what is actually happening in a room instead of always saying Drafting. A room that has not been told to its writers says so, an empty room says so, and a room whose time came and went with nothing turned in says that too.
- fixThe camp setup wizard no longer erases a host's hand typed room names when the room count changes. It keeps every name that still fits, and asks before it drops one that does not.
- FunctionA writer can now say whether their submitted recording uses AI made music or vocals, and a host sees the answer, or Not answered yet, in one line on the submissions list.
- fixThe catalog page now opens inside the app like every other page, with the full menu beside it, instead of on its own with only a back link.
26 August 2026
The paperwork reads right
- fixThe printed split sheet's contact block lines up again. Every label now sits clearly apart from its answer.
- fixA signature dated in the future now reads in words that stay true on paper: signed on that date, a date after the sheet was prepared.
- fixThe sample question now asks in full: does the song use a sample of someone else's music?
25 August 2026
What happens after a song leaves the room
- FunctionCamps can now set an optional daily submission deadline, in the camp's own local time. A song turned in after the cutoff is noted as late, never blocked. The host decides what late means.
- FunctionOrganizers can record a submitted song as Accepted or Not taken, with an optional reason. A not-taken song tells its writers plainly that they keep all rights, and that the camp's publishing arrangement no longer applies to it. Nothing is emailed when a decision is recorded.
- FunctionWriters now mark one recording as the submitted rendition for a song. Every working memo stays exactly where it was, and a recording with no playable audio can no longer satisfy a camp's demo requirement.
- FunctionRetreat and co-publishing agreements are now tracked per roster member, with a plain list of what's still missing. Invited guest writers never sign the co-publishing agreement, so they never appear on that list and a camp's publisher never touches their share.
- FunctionEvery writer can now see at a glance which of their camp songs are submitted, and what was decided.
25 August 2026
The paperwork a publisher can file
- FunctionSplit sheets now group each writer's publishing companies, contact details, and signature together in one block, on screen and in the exported document alike. The separate publishers table is gone, and a publisher line that can't be traced to a specific writer is flagged instead of guessed at.
- FunctionEvery split sheet now asks whether the song contains a sample, and where it came from. Until somebody answers, the sheet says the question hasn't been answered yet. It never says No on a writer's behalf.
- FunctionA camp can carry the name of its administering co-publisher, and that header prints on every split sheet from the camp. Leave it blank and nothing prints. WritingRoom never invents legal wording, and an invited guest writer's share never carries the camp's publisher.
- CosmeticA writer who publishes their own share is now listed as their own Publishing Designee, matching how the real paperwork says it.
24 August 2026
Hold a room before you announce it
- FunctionA host running a Writing Camp can now hold a round back instead of announcing it right away. Writers assigned to a held round don't see their room yet — not on their calendar, not in their own song library. One click releases the round and tells everyone in it at once, and the button says up front how many writers are about to find out and when they're writing.
- FunctionReleasing a round can be undone. Holding it again for real takes it back off everyone's calendar and out of their song library, and the button says so plainly before you click it — nobody who already saw their room quietly keeps seeing it if the host pulls the round back to make a change.
- CosmeticFilling empty rooms from the roster now says plainly when some of the rooms it just filled are still held, so filling them never reads as announcing them.
- DecisionEvery Writing Camp that already exists keeps working exactly as it always has — rounds still tell writers the moment a room is filled, automatically, with nothing to turn on. Only a camp built from now on starts with new rounds held by default, and the host can choose "tell writers the moment it's set" instead, right in the setup wizard.
24 August 2026
Names, not emails
- Bug FixCamp session cards now show a writer's actual name — for both the people assigned to a room and anyone who joined ad hoc — instead of their raw email address.
- Bug FixThe Admin Team panel on a camp's roster now shows co-organizers by name instead of their raw email address.
- Bug FixRemoving a writer from a camp's roster now updates their name everywhere on the camp dashboard right away, instead of sometimes still showing the old name until the page was reloaded.
- Bug FixA camp room that was scheduled but never actually opened no longer shows up as an empty, untitled entry on the public camp recap page.
- Known IssueCo-organizers who haven't set up a writer profile all show as "a co-writer" in the Admin Team panel, so if a camp has more than one, they can't be told apart by name yet.
22 August 2026
Leaving a room means leaving it
- SecurityTaking a writer off a camp's roster now also takes them out of the rooms they were in. Before, removing someone from the roster left their room access untouched underneath, so they could still open sessions they no longer had any reason to see.
- FunctionBuilding a new batch of sessions for a day that already has some filled in now warns you before anything is created, so you don't end up with two batches of the same rooms and no way to tell which is which.
- FunctionClearing your whole song catalog now asks you to type CLEAR before it goes through. One click used to be enough to wipe everything, which was too easy to trigger by accident.
- Bug FixA saved-to-backup notice for a recording could stick around even after your next save went through cleanly. It's now cleared out once things are working normally again.
- Bug FixFilling empty rooms from your roster used to describe the count in a confusing way: if the same writer got placed into two rooms, the confirmation counted that as two writers instead of one. It now counts people, not rooms.
- Bug FixPulling a roster from a past camp could list more camps than its own summary said it would, because camps with nobody on them yet were shown in the list but left out of the count. The list and the count now agree.
- Bug FixTyping the camp name wrong when deleting all sessions, or clearing all writers, used to close the whole confirmation and make you start over from scratch. It now tells you it didn't match and lets you try again right there.
- CosmeticA session's time could print twice on the schedule: once as the label you typed and again as the calculated time. Now only one shows, and it's the accurate one whenever we can calculate it.
21 August 2026
Honest by default
- CosmeticThe publisher rows on your exported split sheet now show the publisher's name instead of a raw email address — and leave the line off entirely on the rare row where we don't have a name yet.
- Bug FixAnywhere the app shows something like "2 hours ago," that time could be wrong by however many hours your clock is from ours. It's now calculated the same accurate way everywhere it appears, so the age shown is honest no matter where you are.
- CosmeticPercentages on your screens used to carry extra zeros — "50.00%" instead of "50%" — even though your exported paperwork already showed the clean version. Screens and paperwork now match.
- Bug FixOpening a song that had been removed, or one you no longer had access to, used to fail with nothing on the screen to explain why. It now tells you plainly that the song couldn't be opened, why that might be, and gives you a way back to your library.
21 August 2026
A guest's first hour
- Bug FixThe welcome tour used to vanish partway through — right as it moved you from the dashboard into a song — and then start over from step one every time you opened a different page afterward, forever. It now keeps going through that move, picks back up where you left off if you reload, and once you finish or skip it, it stops interrupting you for good.
- Bug FixOpening Host used to show a full-screen "upgrade" message and hide everything else, even for people who are already invited and simply waiting for full access to open up. It now shows the same honest "you're on the list" message we already show on Camps, with the rest of the app still reachable.
- SecurityThe active-songs counter's "Upgrade" button — and every other upgrade prompt in the app — used to open real checkout for guests who are still waiting for full access, before launch pricing is even live. Anyone still waiting now sees an honest "access is coming" message instead, and there is nothing to buy until their access actually opens.
- Bug FixThe "Host a public camp" button on the Live page used to send waitlisted guests to a pricing page they have no way to act on. It now sends them to the Camps page instead, where they get the same honest waitlist message.
- Bug FixSkipping the welcome tour used to send you back to the dashboard no matter where you started it from. Skipping now leaves you exactly where you were.
- CosmeticThe practice song used for the welcome tour used to demand a real signature on its split sheet, just like an actual song. It now says plainly that this is a practice run and invites you to try signing it, instead of asking for one.
20 August 2026
Signatures on a split sheet
- Bug FixA split sheet no longer says "Splits changed after signing" when nothing about your own share changed. That warning used to appear on every signature on a song the moment anything at all was edited, including simply adding a writer, and it read like an accusation that somebody had gone back and altered the document.
- FunctionA signature is attached to a number now, not to the whole sheet. If your own percentage changes after you signed, your signature comes off and the sheet says so by name: "Marcus Delaine signed for 50%. That number is now 40%, so their signature came off. They'll need to sign again." The sheet goes back to not fully signed until they do.
- FunctionIf somebody else's percentage changes, or a new writer is added to the song, your signature stays exactly where it is. Your own agreement did not move, so nothing happens to it. When writers are added afterwards the sheet says that too, and says the earlier signatures still stand.
- DecisionTaking a writer off a sheet never hands their share to anybody else. The sheet just says what it adds up to now, for example "These shares add up to 80%. 20% is not claimed by anyone.", and the writers who are left keep their signatures because their own numbers did not move.
- FunctionA signature from somebody who is no longer listed on the sheet is named rather than quietly dropped, so nobody reading the sheet is surprised by it later.
- CosmeticThe exported split sheet now carries the full contact details for every writer: legal name, PRO, IPI number, publisher name, publisher IPI, phone, contact email and mailing address. An empty box says "Not set yet" instead of printing a blank that could be read as a real answer.
- DecisionThe tamper check is still there and still frozen. It has stopped being the everyday message, and now only speaks when something changed that the sheet cannot otherwise account for.
20 August 2026
The small stuff: a self-card, a demo song, a blank editor, and where things go
- Bug Fix"Your people" on the Billboard no longer shows a card for you to yourself under a second, unpublished account. A card only shows for someone who is actually a different person.
- Bug FixThe tutorial's demo song now starts fresh every time the tour runs, instead of keeping whatever a previous run left in it.
- Bug FixThe tutorial now switches to the No Judgment Zone tab while it explains what's in the No Judgment Zone, instead of describing it with the Lyrics tab still showing.
- improvementOpening a song no longer sits on a blank screen for several seconds. You now see a quiet outline of the layout while it loads.
- Bug FixSearching your library now puts your own matching songs first, ahead of camp folders. The practice-song shelf only shows up when it actually has a match for your search.
- CosmeticThe Publisher Dashboard now uses the app's own red-and-gold colors instead of a leftover blue.
- Bug FixThe Publisher Dashboard's recent songs list no longer shows camp-schedule placeholders that were never real songs.
- CosmeticThe "email me about Now calls" checkbox on the camp page moved into Settings, instead of floating at the top of the page.
- Bug FixYour inbox count now counts messages you haven't read yet, instead of counting every conversation whether you've read it or not.
- CosmeticA write chat with nothing said yet now says so plainly, instead of a flat description of the room.
- Bug FixThe "Sync lyrics" bar in the editor no longer shows up when you're writing alone. It only appears once someone else is actually in the room.
- Bug FixA song's writer list now shows the name you gave that person in your roster when the split sheet itself has nothing saved for them, instead of falling straight to their email.
20 August 2026
Splitting evenly now means exactly evenly
- Bug FixThree writers splitting evenly now all see 33.33%. Nobody gets handed an extra point for being first on the sheet.
20 August 2026
Before the testers arrive: share links, memos, Riff, and a guest's dead end
- Bug FixTapping "Show share link" now shows right away that it is working, so it never looks like nothing happened while the invite link is being prepared.
- Bug FixStopping a recording now shows your memo immediately, saving in the background, instead of leaving the screen blank for several seconds.
- Bug FixYour recent activity list now names the song correctly, always describes something that already happened instead of something in the future, and no longer lists a camp's blank schedule slots as if they were real songs.
- Bug FixAsking Riff a question now favors help for the tab you are actually on, so a splits question asked from the Split Sheet tab gets splits help instead of unrelated writer directory articles.
- DecisionThe light mode toggle in the song editor is hidden for now. It was only partly working, some parts of the editor stayed dark, and it did not remember your choice after a reload. Dark mode is unaffected.
- Bug FixA guest who reaches a part of the app they do not have access to now sees the same welcoming message used elsewhere in the app, instead of an upgrade message aimed at paying subscribers.
19 August 2026
A split sheet only shows what people have actually claimed
- Bug FixA split sheet that only some of the writers had filled in could show a total that cannot exist. On one song it read 150%, because the app quietly handed an even quarter of the whole song to each of the two writers who had not typed anything, on top of the 50% each the other two had already claimed. Now, the moment anyone types a number, the app stops inventing shares for everybody else.
- FunctionA writer who has not filled in their share yet reads as not set, instead of showing a number nobody chose. A blank is honest. A zero would look like they agreed to nothing, and a made-up number is worse.
- FunctionThe sheet now says where it stands in plain words while it is being filled in, for example "60% claimed so far. 40% still to divide between 2 writers." If the numbers already typed in add up to more than 100 it says that too, rather than showing a negative share.
- DecisionA song nobody has touched still divides evenly between its writers and still totals 100%. That is the fair starting point when there is no agreement yet, and it has not changed. What changed is that the even split stops applying as soon as a real person says otherwise.
- FunctionA sheet cannot be signed while any writer still has no share, however the typed-in numbers happen to add up. Two writers agreeing to 50% each does not speak for the two who have not filled theirs in.
- Bug FixThe printed and exported split sheet now says exactly what the screens say. It used to work out the leftover percentages its own way, so a three-writer song printed 99% where the screen showed 100%.
19 August 2026
The money screens agree
- Bug FixA song's overview page and its split sheet now always say the same thing about who owns what. The overview used to read 0% on any song whose splits nobody had typed in yet, while the split sheet for that same song, opened at the same minute, read 100%. Both screens now read the song the same way: a percentage you have typed in wins, and until somebody types one the song is divided evenly.
- Bug FixThe overview also counts signatures against the same list of writers the split sheet uses, so the two screens no longer disagree about who still has to sign.
- CosmeticAn empty key and tempo on the song's details panel now say "add a key" and "add a tempo" in muted italics. They used to show "A min" and "92", styled exactly like real values, so a co-writer could see those details and believe the song was in A minor at 92 when nobody had set either one.
- FunctionExport now tells you it worked. When your package is ready the modal says so, and says it opened in a new tab. Before this it finished in silence while the file opened behind the window you were looking at.
- CosmeticThe Writers column on the Submissions page shows people's names instead of their email addresses.
- CosmeticThe number beside "All Songs" in your library now says what is inside it: how many are practice songs, how many are camp sessions, and how many are songs you started on your own. The number itself has not changed.
- CosmeticThe first screen of the welcome tour reads a little plainer.
19 August 2026
The welcome tour actually opens
- Bug FixThe welcome tour now opens for new writers. It was quietly switched off for anyone who signed in with a name already on their account, which is most people, so the tour never appeared on its own and the “Show me the welcome tour again” button in Settings just dropped you on the home page with nothing on screen. Both work now.
19 August 2026
Rooms that aren't empty
- FunctionPick one of the automatic ways to seat writers when you build a camp, and the camp now comes out with people actually in the rooms. Before this, the setup wizard asked you how you wanted writers assigned, saved your answer, and then built every single room empty — so you got the question and none of the work. It spreads the writing evenly (nobody writes four times while somebody writes once), it never puts the same person in two rooms in the same round, and it tries to give everybody different co-writers each round instead of the same three people all week.
- FunctionAdded “Fill the rooms from the roster” to the … menu on a camp page. Most camps get built before the writers are known, so this is for the moment after you have added everybody: one click and the empty rooms get filled the same fair way the wizard does it. It asks first and tells you the numbers — how many rooms it will fill, how many writers it will seat, and how many rooms you have already set up by hand that it is going to leave completely alone. It only ever fills rooms nobody is in yet. It will not reshuffle a camp you have tuned.
- FunctionIf you pick an automatic seating choice with nobody on the roster yet, the wizard now says so on the spot instead of quietly building empty rooms: the rooms will start empty, and you can fill them from the camp page once you have added people.
- Bug FixClicking “Keep them” to back out of clearing all the writers, or deleting all the sessions, no longer shows a warning that says nothing matched. Changing your mind on purpose is not a mistake, and the app should not tell you off for it. Type the wrong name and you still get the warning, exactly as before.
- Bug FixFixed on the same day it shipped, before anyone could hit it: the first version of “Fill the rooms from the roster” only looked at the empty rooms, so on a camp where you had already set some rooms up by hand it offered to put people into a room at the same hour they were already booked in next door. It now looks at the whole camp before it seats anybody, and still only changes the rooms nobody is in.
- Known IssueTwo honest limits on the automatic seating. It only runs on the camp you are building — if you set up a repeating series, the later camps in the series still come out with empty rooms and need filling from their own camp page. And “by genre fit” only has genres to work with if the roster carries them; where it does not, it seats people the same balanced way the round-robin choice does rather than pretending to know something it does not.
19 August 2026
The schedule tells one truth
- Bug FixCamps built with the wizard now put their sessions on everybody's calendar. Before this, the dates you typed were written into the session's name and nowhere else — so the camp page could show a card marked “Fri, Aug 7 · 9:00 PM”, sit it under a heading that said “Undated”, and tell you underneath that none of it was on anyone's calendar. All three were reading different things, and none of them had been told the truth. The dates you type now become real rounds on the camp, and the card, the heading and every writer's calendar all read the same one.
- Bug FixDay headings on a camp page say the day now — “Day 1 · Friday, August 21” rather than just “Day 1”.
- FunctionWhen a round genuinely has no date on it yet, the line that says so now tells you where to go and fix it: the Schedule tab. It used to leave you looking for a door.
- FunctionThe wizard asks before reopening a half-finished camp. If you walked away from one, you now get “Pick up where you left off” or “Start fresh”. It used to quietly fill your old answers back in without saying so.
- Bug FixChange your rooms and the sessions follow. Set up ten rooms, cut back to two, and the wizard used to still offer to build sessions in eight rooms that no longer existed. It counts the rooms you actually have now, on the schedule step and in the total.
- Bug Fix“Pull from previous camp” finds your camps again. It was telling hosts with five camps that they had none. It now lists them newest first and says how many writers are on each one, so you are not picking blind.
- Bug FixPulling a roster from an earlier camp actually seats those writers on the new one. They were being copied somewhere the camp page never looked.
- Known IssueCamp sessions reach a writer's calendar while an organiser has the camp page open — that is when the camp checks itself and pushes anything that moved. If nobody has opened the camp since a change, a writer may not see that change yet. Making it run without anyone watching is still to come.
18 August 2026
The Billboard — find your people
- FunctionSearch actually searches now. Type “songwriter west palm” or “gospel nashville” and it looks across a writer’s name, town, skills, genres and credits at once — before, a search that spanned two of those found nobody. It also knows what people call things: “singer” finds a vocalist, and a typo like “pinao” still finds the piano player.
- FunctionRegion is a place now, not a typed string. Your profile takes a town, a state or region, and a country, and the Billboard groups them — pick a country and you see everyone in it, or narrow to one town. Start typing and it suggests places with a count. Profiles that only ever typed a town still work exactly as they did; nothing was rewritten.
- Bug FixSkills read like English on the board — “Worship Leader”, not “worship_leader”. The app already had one skills list with proper names; the new directory just wasn’t using it.
- FunctionThe filter row is calmer on a phone or an iPad: the search box leads, Region and the three tick-boxes stay put, and Skill, Genre and Sort tuck behind a Filters button that tells you how many are on.
- FunctionThe Billboard is built for a crowd now. Once a couple dozen writers are on the board, it opens on two short shelves — writers near you, then the newest names — with a Browse-everyone button; long lists arrive a dozen cards at a time behind Show more, with a count so you always know how big the room is. There’s a small jump-nav under the title, a New-to-the-board sort, and past six camps the camp section points to the full board on Live.
- FunctionThe Billboard has a front door now — it’s in your menu, right under Messages. And when your approach inbox is empty, it points you to the board instead of leaving you at a dead end.
- FunctionThere's a new page: the Billboard, at /billboard. The people you've written with are at the top, writers you haven't met yet are in the middle, and camps you can join are at the bottom. The idea is simple: arrive with nobody to write with, leave with somebody.
- FunctionYou can now find writers by where they are. Regions are the towns writers typed on their own profiles — WritingRoom never uses your device's location, only what you chose to say. There's also a one-tap 'Writers near you' filter, and you can filter to writers with PRO-verified credits.
- FunctionCamps now have four doors, and the host picks one: Private (invited people only), Link only (anyone with the link can see the page), Listed — anyone can join (writers take a seat while there's room), and Listed — writers apply (anyone can find it, you decide who gets in). Every camp that existed before today keeps exactly the behaviour it had — nothing private became visible.
- Bug FixThe Approach box used to open squashed inside the writer's card, half-hidden in the grid. It now opens the way a window should — centred, on top of the page — and the Escape key closes it.
- FunctionThe whole billboard works without a mouse: tab from card to card, press Enter to open a profile, and send an approach start to finish from the keyboard. The verified tick now says 'PRO-verified' in words, not just a coloured check.
- SecurityNothing on the billboard ever shows an email address — not on a card, not in a web address. Only writers who chose to publish a profile appear, blocking works from every new surface, and the approach request is still the only way a stranger can reach you.
- Bug FixAdded a Pricing link to the signed-out home page — the page existed, but nothing on the front door pointed to it.
- CosmeticRewrote the "page not found" screen in plain WritingRoom language. No more talk of AI or admin notes, and the stale Academy / Live Camps buttons are gone — just a way back to your songs.
- CosmeticAsk Riff's admin usage badge now reads "Big questions today" instead of "LLM today." Same number, words a writer actually uses.
- CosmeticThe camp Writers step CSV card now describes what to upload in plain words — name, email, legal name and so on — instead of reciting database field names like legal_name and ipi.
- Bug FixThe Help Center had no way back to the app except your browser's back button. It now has the same WritingRoom exit link the pricing page has.
- FunctionTaking a writer off a camp now asks first — you'll see their name and can back out, instead of them disappearing the moment you click Del.
- FunctionClear all writers and Delete all sessions moved out of the camp header into a small ⋯ menu, and each one tells you exactly how many writers or sessions it's about to touch before you confirm.
- FunctionAdding someone to a roster only emails them if you tick the box. It's unticked by default, and the toast tells you either way — invite emailed, or no email sent.
- FunctionThe writer chip on a session card is clickable now. Open it to move someone to a different session or take them off this one, without dragging.
- CosmeticThe trash icon on your camps list only shows up when you hover or tab to it, instead of sitting there in red all the time.
- Bug FixThe Ready to go public checklist only shows up for camps actually headed toward a public listing. Private and link-only camps don't see it anymore.
- FunctionBuilding a camp with all-past dates now warns you on the schedule step and again before you build, instead of building it silently.
- Bug FixFixed the fix from a few minutes earlier: the Ready to go public checklist was still never showing up for anyone, because choosing any non-private option also flips an old is-public flag that was blocking it. That old flag check is gone now — the checklist shows for camps actually set to a public listing, like it was supposed to.
- Bug FixThe “Clear all writers” warning was counting the wrong thing and describing the wrong action — it showed a writer count that was really a session count, and never said your roster would be untouched. It now says plainly what happens: every writer comes off every session in the camp, your roster stays exactly as it is, and it can't be undone.
- FunctionClearing all writers or deleting all sessions for an entire camp now asks you to type the camp's name before it goes through. Both touch everything in the camp at once, so getting in takes one extra, deliberate step.
16 August 2026
Your Writes This Week
- FunctionIf you're in a camp, your camp sessions now show up in your own writes. You don't have to go looking in the camp to find out where you're meant to be on Friday morning — the room you've been put in, when it starts and the link to join are on your Writes page and on your dashboard, next to everything else you have coming up.
- FunctionAnd they stay right. If the host moves you to a different room, or changes what time a session starts, your calendar follows within seconds. If you're taken off a session, it comes off your calendar too, so nobody walks to a room they're no longer in. The host doesn't have to do anything extra for this — there's no button to remember.
- Known IssueA session can only reach your calendar if its round has a date and a start time on it. If the host has named the rounds but not dated them yet, the camp says so on the dashboard and those sessions wait until it's filled in.
- Known IssueOn a phone you aren't told when a co-writer has added lyrics. On a computer there's a bar at the top of the Lyrics tab that lights up and says so, and tapping it brings their lines in while keeping yours. The phone doesn't have that bar yet.
16 August 2026
The Sidebar
- Bug FixPicking a genre used to leave the picker wide open, with the genre you chose shown twice — once as a highlighted chip, once as a text line underneath. Now it collapses to a single line once you pick one, same as Key and BPM. Click it to change it.
- Bug FixIf the editor's panel had a lot in it — several marks, co-writers, an open genre picker — the bottom of it could get cut off with no way to scroll down and reach it, including the buttons at the very bottom (Write with Riff, record/upload demo, export). It now scrolls properly no matter how much is in it, on desktop and in the phone drawer.
15 August 2026
Four Small Things
- Bug FixIn focus mode, highlighting a line did nothing. No mark-as-section buttons, no Rhymes, and no paperclip to pin a memo with. Focus mode had been built as a second, separate version of the writing pad, and it never got the things the first one had. Both versions now use the same pad tools, so they can't drift apart again.
- FunctionYou can add a voice memo you already have. Next to the microphone there's now Add a memo, which takes a file from your phone or computer and drops it in beside the ones you record. It goes through exactly the same handling as a recording, so a memo added on a computer still plays on a phone.
- FunctionRecorded to the wrong place? Move it. Every voice memo has Move to demos, and every demo has Move to voice memos. It's the same recording either way. Nothing is uploaded again, nothing is re-saved, and nothing is deleted to change the label. Move it back and it comes back as the memo it was, still shared or still private, still pinned where you pinned it.
- FunctionThe genre list grew, and CCM is on it. Gospel and CCM are two different rooms and the list only had one of them. You now get the twelve most common genres straight away, More genres for everything else, and Something else if yours isn't there. Type into that box and it offers you the real genre first, so “contemp” becomes Contemporary Christian instead of becoming a brand new spelling.
- Bug FixThe pin panel on a memo was cut off at the top and you couldn't use it. The memo strip had been set to scroll, which quietly cropped anything taller than the strip, and that panel opens upwards. The strip no longer crops what's in it, and the panel now opens above or below depending on where there's room.
- DecisionMemos wrap onto the next line and never run off the side. Past eight of them the row stops growing and the rest sit behind a +more button you can open. A memo you have to scroll sideways to reach is a memo you can't play and a delete button you can't press, which is what was happening before.
- DecisionGenres are tidied as they're saved, so Country and country can't both exist. Anything already on a song keeps working, including one filed as Country Funk, which nobody planned for and nobody is going to lose.
14 August 2026
Who Gets In
- SecurityA link to a write used to be a key: anybody who clicked it walked straight into the room. That is now your choice, and there are three answers. Anyone with the link can walk in. Or people ask and you let them in, one at a time. Or it's invite only, and a link does nothing at all for anyone you haven't named.
- SecurityThe most important part of this: your open write used to let people in by itself. If five people clicked your link while you were writing, all five arrived, and nobody asked you about any of them. Now nobody comes in unless you say so — unless you've set that write to let anyone in, which is the one case where that's exactly what you asked for.
- FunctionWhen somebody's waiting, a small line appears next to your co-writers: "Kelly is asking to join." You tap "Let Kelly in" or "Not now" and carry on. It never covers the song, and it isn't there at all when nobody's waiting — which matters if you're sharing your screen.
- FunctionSet it once in Settings under My Writes and every new write starts that way. Change any single write on its own and that write keeps your choice for good — changing your usual setting later will never quietly reopen a room you'd already locked. The write always tells you which of the two it's doing.
- FunctionIf you're waiting to be let in, you get told what's happening instead of an error or a blank screen: "Terry knows you're here. Hang tight." If the answer is no, you're told that too, kindly, rather than being left watching a spinner forever.
- DecisionBeing invited counts as being let in. If somebody added you to the write by email, or invited you to the camp, you don't have to ask — the invitation was the answer. That holds even for invite-only writes, and it's true for everyone already in a room when the setting changes: locking the door never puts anybody out.
- DecisionNew writes ask rather than opening. We had to pick a starting point, and the room where you'd regret the wrong answer is the one where you didn't know somebody had walked in.
- SecurityFixed while we were in here: the record created when somebody asks to join could be edited by the person who created it. In principle that let someone mark their own request approved. Only the host can touch it now.
14 August 2026
Write That Down
- Bug FixVoice memos in the Memos tab wouldn't play. Every one of them showed 0:00 and did nothing when you pressed it, while the same memo played fine in the No Judgment Zone. The memos list was handing the player an empty address — it's been doing that to every memo saved since the 10th of August, and Write That Down is simply the first thing that put enough of them on that screen for anyone to notice. They all play now, and they show their real length before you press.
- Bug FixYour memos in the No Judgment Zone were crammed into the top corner of your pad and ran off the side, which is why some of them couldn't be deleted — the delete button was off the edge of the screen. They now sit on their own line under your name and wrap down the pad, so every one of them is reachable however many you've got.
- FunctionSomebody says the line, everybody laughs, and nobody wrote it down. There is now a button for exactly that moment. Turn on Write That Down and the last few minutes of the room are always there — press it and you keep them. You press it AFTER the thing happened, which is the only time anybody actually knows it was worth keeping.
- FunctionEveryone who's in it runs their own. A browser tab can only hear the person sitting at it, so if six of you are on a call, one press catches six clean voices instead of one muddy room. The memo says who pressed it — "Vinny said Write That Down" — and, in words, whose voices are in it.
- FunctionYou can switch it on at any point in a write, not just at the start. Rooms warm up, and the idea usually turns up before anybody thought to get ready for it.
- FunctionOne press takes the last minute straight away and asks you nothing. A card then appears offering two, three or five minutes if you want to reach further back, and you can ignore it — it doesn't block anything and the room carries on. We tried it the other way round first, asking how far back to go, and it was a question at the exact moment you're trying to move fast while people are still talking.
- SecurityIt is OFF until you turn it on, and you can only ever turn it on for yourself. Whoever started the song can't switch it on for you, and neither can we — that isn't a hidden button, it's a rule the store itself enforces, so the request would be refused.
- SecurityWhile it's on, it says so — a line at the top of the room with a pulse in it, on whichever screen you're using, on every tab, and it doesn't scroll away. And whenever anybody catches a moment, the room says so out loud: "Vinny said Write That Down!" You can turn that announcement off for your own screen if it gets noisy, and everyone else still hears it on theirs.
- SecurityMute yourself and nothing of yours is kept — including the few minutes that had already gone by. It isn't paused, it's wiped, which is the only way that sentence is true. Nobody else in the room is affected: their side keeps going, and you're simply not in anything caught while you're muted.
- SecurityThe few minutes it holds live in your browser tab and nowhere else. Never saved, never sent anywhere, and gone the moment you mute, close the song, or leave. Only a moment you actually press the button for becomes a file.
- FunctionCatching a moment doesn't stop it listening. The second idea usually arrives about ten seconds after the first one, and you shouldn't have to switch anything back on to catch it.
- FunctionMuted and talking? It tells you — once when you mute, and then only when it can actually hear a voice, the way a call does it. A light that blinks the whole time turns into wallpaper in ten minutes and stops protecting anybody.
- DecisionRecording a voice memo and having the room listening are separate things and they don't interfere on a computer — so reaching for the record button after the magic happened can't destroy the very thing that was holding it. On iPhones and iPads, where the microphone is stricter, the room politely waits while you record a memo and picks up again as soon as you stop, and it says so on screen while it's waiting. We chose the cautious version there because we couldn't test it on a real iPhone this week, and losing somebody's deliberate recording is worse than pausing for a minute.
- FunctionA tab you've left in the background for ten minutes stops listening on its own, so a forgotten song isn't quietly using your battery all afternoon. It says so, and it's one tap to start again.
14 August 2026
You can see who's in the room with you
- FunctionA co-write now tells you who's actually there. Open a song and you'll see the writers who have it open right now, which screen they're on, and — the part that makes a room feel like a room — who's typing at this moment. "Amanda's writing." It's the same idea as seeing someone typing in a chat: you're told that a person is working, never a word of what they're working on.
- FunctionWhoever's writing stops being marked as writing a couple of seconds after they stop, on its own. And if someone shuts their laptop, loses signal, or just closes the tab, they disappear from the room within about fifteen seconds without having to say goodbye — because nobody ever remembers to say goodbye, and a room that still shows someone who left is worse than a room that shows nobody. You'd wait for them.
- FunctionThe wall: everyone's shared pad, side by side, all at once. Six people's half-ideas visible together and none of them touching the song — which is the whole reason this isn't just a shared document where you all type over each other. Click one pad to make it bigger and the rest tuck aside; click again and they're all equal. On a phone there's only room for one at a time, so you swipe between your co-writers.
- SecurityYour own private page is never on that wall, for anyone, ever — not a co-writer, not the person who started the song, not us. What the wall shows when you've stepped onto your own page is a closed door with your name on it, so nobody reads your quiet as "they gave up". Not the words, not a preview, not even how many words there are. The build refuses to ship if that ever stops being true.
- SecurityKnowing when somebody is working is something your co-writers get to see, and nobody else. It doesn't reach the writer directory, a public profile, the scheduling calendar, or any page someone can see without signing in. The calendar in particular still only ever says how many people are free at a time and never who — that was checked again as part of this.
- Bug Fix"Kelly is writing…" was written into the app some time ago and has never once appeared on anybody's screen — the app was looking for the signal but nothing was ever sending it. Same story with the "writers active now" count on camp dashboards, which has been showing zero this whole time no matter how many people were writing. Both work now.
- Bug FixThe dot next to a co-writer's name that was meant to mean "here" was being updated by a timer that restarted about ten times a second, so in practice it fired roughly once when you opened a song and then never again. It now updates properly, and only while you actually have the tab in front of you — so a camp of six with five people in another window isn't six laptops chattering away in the background.
14 August 2026
Your Scratchpad, checked again — and this time it's checked out
- SecurityWe went back over the Scratchpad work from Tuesday to make sure nothing private had been left behind on the shared song record, and measured every song we have. The answer: nothing. Across all 166 songs there are zero characters of anybody's private notes stored anywhere except on their own private page. What the song still carries is a single yes-or-no per writer — whether that person has stepped onto their own page — which is the thing the room is meant to know, and is what puts "… is writing in their Scratchpad…" on your screen instead of an empty pad that looks like they gave up.
- SecurityThat yes-or-no is now built in one place in the code that can only ever produce a yes or a no. If a stray note ever found its way into that spot, the next save would clear it rather than carry it along, and the tests refuse to build the app if anybody writes to it from anywhere else. Privacy that a future change can't quietly undo is the only kind worth telling you about.
- Bug FixIf two of you stepped onto your own private pages within a second of each other, one of you could switch the other's marker back off without either of you knowing. Your co-writers would then see an empty pad where "… is writing in their Scratchpad…" belonged — which reads as "they stopped", about someone who hadn't. It now checks the song as it stands right now before making the change, so both of you stay marked.
- Bug FixThe Scratchpad could lose the end of what you typed. We found this by testing it rather than by reasoning about it: 72 characters went in, 55 came back after leaving the song and returning — and the tick in the corner said "Saved" the entire time. Every keystroke was being sent as its own separate save, and saves don't come back in the order they were sent, so an older one could arrive last and overwrite newer words. Your Scratchpad now sends one save at a time and always sends the newest version, so the last thing you typed is the last thing stored. Your shared pad already worked this way — the private one was the newer of the two and had never been given the same treatment.
- FunctionNew test that runs on every build: type into your Scratchpad, leave the song, come back, and the words have to still be there. Everything we had tested whether the Scratchpad stayed private — nothing tested whether it stayed at all, and losing a verse is the thing that would actually cost you a morning's work.
- DecisionWe were asked to remove that yes-or-no marker from the song as leftover clutter. We did not, and we're saying so. It isn't clutter — it's what tells your co-writers you've stepped aside, on a computer and on a phone. Removing it would have taken a working thing away to tidy up something that turned out not to be a problem.
14 August 2026
A phone is a room, not a writing pad
- FunctionWriting on a phone was writing alone. Your co-writers' words were arriving on your phone the whole time — the same live updates a laptop gets, every second — but there was nowhere on the screen to put them, so the app opened on your lyrics and everyone else was invisible behind a tab, a small button and a pop-up. The song now opens with the No Judgment Zone docked underneath it, so you can see people writing while you write.
- FunctionSwipe between the song, the Zone, the room's thread, your demos and the song's details. Whichever one you leave open is the one you get back next time you open that song — you pick your view once, not every morning. The second window folds away with one tap if you want the whole screen.
- FunctionA strip along the top shows who's on the song, and what each person is doing — words on their pad, or off in their own Scratchpad. It says who is on the song, not who has it open right now; we can't honestly tell you that yet, so we don't.
- FunctionYour private Scratchpad is on your phone now. It only ever existed on a computer, so on a phone there was nowhere private to think — and the one pad you did have said your words stayed put when in fact your co-writers could read every one of them as you typed. Two pads now, each labelled for what it is, and switching to the private one tells the room you've stepped away, exactly as it does on a computer.
- FunctionThe room's shared thread of ideas — the one you already get on a computer — is on the phone for the first time. And it now says who wrote each line instead of labelling everything "You" on everybody's screen.
- Bug FixThe on-screen keyboard no longer swallows the room. The buttons for switching between panes used to end up underneath the keys where you couldn't reach them, and the line you were typing could disappear behind the keyboard. The whole room now sits above the keyboard and the line you're on is scrolled back into view.
- Bug FixOne line under the pad on a phone was showing raw code ("\u00b7") where a dot should have been. The same slip was on the help page next to Terry's email address. Both read properly now.
- Bug FixThe Writes page was quietly asking the server who you are seven separate times every time it drew — down from twelve, but still six more than it needed. It asks once now, remembers the answer for the moment it takes a page to finish drawing, and forgets it the instant you change anything about your own account so nothing is ever read back stale.
- CosmeticThree lines in the 12 August notes still called the Vault "the shelf", from before it was renamed. They say Vault now. The older, separate idea of a shelved song is untouched — that was always a different thing.
- Known IssueA desktop browser window shorter than about 768 pixels — a small laptop is right on that line once the browser has taken its share — currently gets the phone layout instead of the full editor. That is not new and it was left alone rather than changed on a night when the phone was the job; it is written down here so it is a decision somebody makes on purpose.
13 August 2026
The Scratchpad is actually private now
- SecurityWe got this wrong and we fixed it. The Scratchpad — the page inside the No Judgment Zone that says "only you can see this" — was hidden by the screen and not by the server. Nobody in WritingRoom could see anybody else's, because no page in the app ever drew one. But the notes were being sent to your co-writers' computers along with the rest of the song, where a person who knew where to look could have found them. On the songs we checked, seven people had written something in a Scratchpad, and it was travelling that way.
- SecurityYour Scratchpad now lives on its own, under your name, and the server will not hand it to anyone else — not a co-writer, not the person who started the song, not a camp host, not Terry, not anyone with an admin account. That is now a rule the database enforces rather than a promise a screen makes, which is the only kind of privacy worth telling you about.
- SecurityNobody lost a note. Every Scratchpad that already existed was moved to its author first, then the old shared copy was emptied, then the door was shut. Open your song and your notes are where you left them.
- Bug FixOn a phone, a co-writer who had switched to their own Scratchpad still had their No Judgment Zone page shown to everybody else — pencil marks and all. On a computer they were covered. Both screens behave the same way now: you see "… is writing in their Scratchpad…", the same as before.
- DecisionSharing is untouched. Everyone's No Judgment Zone page is still on everyone's screen, live, exactly as it was — that is the whole point of the room. Private means private; shared still means shared.
- Bug FixSaving a look for your public profile could say "that didn't save" when it had, in fact, saved. The app was checking its work too quickly and reading back the old answer. It now waits and looks again, and if something really does fail it says so in plain words instead of blaming the wrong thing.
13 August 2026
The lyric lines type like typing
- Bug FixYou could not combine two lyric lines. If a line went blank there was no way to backspace it away and pull the rest up — you had to move every line below it by hand. Backspace at the start of a line now joins it to the line above, and the cursor lands exactly where the two lines meet.
- FunctionPress Return in the middle of a line and it splits there: the words before stay put, the words after become the next line, directly below — with the cursor at the start of it. Return at the end of a line still gives you a new blank line, as it always did, but now it appears under the line you were on instead of at the bottom of the section.
- FunctionDelete at the end of a line pulls the next line up onto it, and the cursor stays where the join happened.
- FunctionThe up and down arrows move between lines and keep your place across, so you can walk through a verse without touching the mouse.
- Bug FixEvery line has a × to remove it. It was there before, but invisible until your pointer happened to land on it, which meant a blank line you were stuck on had no way out. It is visible now, and you can reach it from the keyboard.
- DecisionChords are never lost to a keystroke. Join two lines and both rows of chords come with them, in order. Split a line and every chord stays with the top half, because nothing in a song says which word a chord belongs to and guessing would move your chords without telling you. Remove a line on purpose and the app tells you how many chords go with it first.
- FunctionEvery section now has "Edit as text" — the whole section in one plain box where Return is just a new line. It is the right tool for pasting a verse out of a document, reordering a chorus, or tidying up a mess. It opens the same window as Paste lyrics. Chords follow their own words wherever those words end up, even if you reorder the whole thing, and before you save it tells you if any chords are about to leave with lines you took out.
- Bug FixOn a phone, editing a section's lyrics could quietly move your chords onto the wrong words — remove one line and every chord below it shifted up a line. That has been wrong since the phone editor shipped. It is fixed, and the same fix covers the new text box on the computer.
13 August 2026
Voice memos that play on a phone
- Bug FixA voice memo you recorded on your computer would not play on your phone at all — it just showed an error. Computers record in a format iPhones cannot open, and nothing in the app ever checked. Every memo is now saved in a format that plays on every phone, tablet and computer, and the conversion happens on the machine that made the recording, where it always works. The memos that were already saved in the old format have been converted too; the originals were kept.
- Bug FixRecording a memo ON your phone and then trying to play it back gave you nothing. The memo had saved perfectly — the phone's own list just was not asking for it properly. Phone memos now play where you made them, and show who recorded them and when.
- Bug FixWhen the app did not know what kind of audio file it had, it guessed — and it always guessed the same wrong answer. It now reads the file itself instead of trusting a label, so a recording is stored as what it actually is. This is what was quietly breaking memos that moved between devices.
- CosmeticIf a memo from before this fix still will not open on the device in your hand, you get a sentence explaining where it does still play — not an error.
- CosmeticThirty-odd places in the app and the help centre sent you to a part of a wide screen — a strip down one side, a row along the top, a particular corner. A phone has none of those. Every one of them now names the thing you are looking for instead of where it used to sit. (The check that found them is now part of the build, so new copy cannot go back to it.)
- CosmeticThe memos area was hard to read on some themes — grey text on a grey card, worst on Deep Woods. It was painting the same fixed colours over every theme instead of using the theme's own. Fixed everywhere, and the same fault on the phone, where secondary text was invisible on any light theme.
- Bug FixAnything you scribbled with a pencil on the No Judgment Zone pad on a phone or tablet was never actually being saved. It is saved now.
- CosmeticThe No Judgment Zone on a phone told you to scribble with an Apple Pencil. There is no scribble pad on that screen, and iPads get the full editor anyway — so the instruction pointed at something that was not there. It now describes what the pad actually is.
- Bug FixA memo in the list said "Recorded today" no matter how old it was. It now says when it was actually recorded.
- CosmeticWhen a recording will not save, the message no longer pastes the technical reason into the sentence you read. The recording is still kept and Try again still re-sends the same take.
12 August 2026
The Vault, and a clean slate for the first real writers
- CosmeticThe bring-your-catalog feature ("15 songs on the shelf") is now called the Vault, everywhere — the app and every help article. The Shelved song status ("kept on the shelf in case you come back to them") is a completely different, older idea and was left untouched on purpose; only the catalog-import wording changed.
- Decision163 songs existed in the live database going into this pass; roughly four of them were ever written by a real person. The rest were lane test probes, camp-scheduling placeholders, and seed batches from building the product. 141 of them are now marked practice — the same non-destructive flag Academy and the welcome tour already use — so they drop out of default song lists and stop counting against anyone's slot limit. Nothing was deleted. Ten more looked close enough to a real song that they were left alone rather than guessed at; whether any of the 141 should eventually be deleted for good is still an open question for a person, not this pass.
- Bug FixA new account could end up with two "Welcome — your demo song" practice songs instead of one, if the welcome tour ever started a second time before the first one finished (closing the tab partway through was enough). It now checks for an existing one first — a check that survives a rename or even promoting the demo to a real song — instead of minting a new one every time.
- Bug FixA write you cancelled for a future date was showing up under "Already written" on the Writes page, which made a cancelled write in October look like something that already happened in October. It now stays under "Coming up," struck through and labelled Cancelled, until its time actually passes.
- Bug FixThe Writes page was asking "who am I" up to a dozen separate times on a single load — every independent piece of the page (the menu, the help bubble, search, and more) was asking on its own with no coordination. The first ask now answers for all of them; the rest just wait for that same answer instead of placing their own call.
12 August 2026
Book this write, or suggest some times
- FunctionTapping an hour on the week calendar now asks what you actually meant. Book this write puts that exact time on everyone's calendar straight away. Suggest some times instead sends two or three for the room to vote on, the way it always worked. Both are one tap, and each one says what will happen before you choose it.
- FunctionYou can add the people you're writing with without leaving that box. It's the same writer search as everywhere else — search by name, sort by who you wrote with most recently or by your own private stars, filter by camp — and if you pick people who aren't already in a room together, they get one.
- FunctionWhen you book, your time wins. It doesn't matter whether there are times already on the table in that room; you picked an hour, and that's the hour. Any poll sitting there is left exactly as it was — it's somebody's question and we don't answer it for them.
- FunctionBeing invited is not being trapped. Everyone booked gets the note, in the app and by email, and every one of them can either say they're in or suggest a time that works better. Suggesting one does NOT call the write off — it reaches the organiser straight away, and they either move it or keep the time and say so. Either way the person who asked hears back.
- DecisionIf nobody answers, the write still happens. Silence isn't a no — that's the whole difference between booking a time and asking about one, and it's how every calendar invitation you've ever had behaves. Only the person who booked it can call it off.
- SecurityBooking means reading when people are free, so we re-proved the promise that goes with it: the calendar still only ever tells you HOW MANY of you are free at a given hour, never who. Nobody's week is sent to anybody's screen, and the build now fails if any answer from the calendar ever carries one.
12 August 2026
Bring your songs in
- FunctionYou can bring in songs you already wrote. Paste one straight in, or hand over the whole folder — Word documents, plain text, Markdown, rich text, PDFs, or a zipped folder of any of those. We read them, show you every title we found, and nothing is created until you've looked it over and said go.
- FunctionBrought-in songs land in your Vault: readable, searchable, downloadable, and separate from the songs you're actively working on. They don't use up any of your song slots. When you want to work on one, one button opens it as a real write with its room, versions and splits — and that's the moment a slot gets used.
- FunctionFree keeps 15 songs in the Vault, next to the 5 songs you start. If you drop in more than that we read all of them and let you choose which 15 stay — we simply don't take a copy of the rest, so there's nothing sitting anywhere on a clock. Studio takes the whole folder.
- DecisionNothing in your Vault ever expires, and we never delete a song. We considered holding your extra songs for a while and decided against it: a countdown on your catalog ends either with your work being deleted or with a deadline you find out was a bluff. Neither belongs in something sold as a vault.
- FunctionEvery song downloads with its words and its credits — plain text, Word or PDF — and your whole catalog downloads in one action, as a zipped folder with a song in it for each one. On every plan, including free.
- FunctionA song you brought in with you never carries the “Made in WritingRoom” mark. Not on the free plan, not anywhere — we didn't touch that song and we don't put our name on it. Songs written here keep the mark wherever they live.
- FunctionIf you've already brought in your PRO catalog, we line the two up: “we matched 31 of your 47 to works registered to you.” It's a suggestion you confirm — nothing gets attached to a song because two titles look alike.
- Cosmetic“Smart Import” is gone as a name. The one on the Roster now says Import writers, because that's what it does, and the spreadsheet one says Import a catalog file — and both point you at the right door if what you actually have is a folder of songs.
- Bug FixFiles we can't open aren't dropped. They stay on the list with a plain note, and there's a box right there to paste the words into so the song still comes in with the rest.
12 August 2026
One door for feedback, and a way back from Help
- Bug FixThe "Report a bug or suggest an improvement" link inside Ask Riff used to send you to the admin ticket queue — a different site, different look, no way back. It's gone. There's one door now: the Send Feedback button, on every page, the one that actually worked all along.
- Bug FixLanding on Help while signed in used to strand you — no menu, no way back to your song, just the browser's back button if you remembered it existed. Help now shows a "Back to WritingRoom" link that takes you straight to your dashboard.
- Bug FixThe Help link used to reload the whole app just to open Help. It's a normal in-app link now, so you don't lose your place getting there.
11 August 2026
Writes grew up: a calendar, a way in for the words, and honest buttons
- Bug Fix“The room →” on an upcoming write used to do nothing if you were already in Messages with that thread open — a link to the place you were already standing. Now it switches you straight to the thread, and if you're already in it, it says so quietly instead of pretending to be a button.
- FunctionJoin now tells the truth about time. The room link works whenever it exists — showing up early is allowed, always — but the big Join button only lights up about fifteen minutes before the write. Before that it reads quietly, with a Join early link for the keen.
- FunctionStart the song, right from the locked write card. One tap (and a name) creates the song, puts everyone on the write onto it, and the conversation you're already in becomes the song's room — no second thread. The song lands on the organiser's shelf: they set the write up, so it's theirs, and nobody in the room has to negotiate whose free slot it uses.
- FunctionYou can add someone to a write that's already locked. They join the room, get the time and the meeting link in their own timezone by email, and land on the song as a co-writer if one exists. The original vote stays exactly as it was — history doesn't move.
- FunctionOrganisers can ask for one quiet heads-up if a co-writer starts on the song before the scheduled write. One email, ever, per write — never a play-by-play.
- FunctionThe Writes page has Week and Month views now. The week grid is shaded by when your room actually overlaps — brighter hours are better ones — and tapping a slot says plainly who's usually free then before you propose it. Proposing from the calendar goes through the same vote everyone already knows.
- SecurityThat shading is built from counts alone. Nobody's week — not the hours, not the days, not who's free when — ever leaves the server or reaches anyone else's screen. We also stopped sending a small per-person detail with time suggestions that no screen ever showed; suggestions now carry counts only.
- DecisionLocking in a time still doesn't create the song by itself. A write that gets called off shouldn't leave an empty song in anyone's catalog or use up a free slot — the song starts when someone in the room says so.
11 August 2026
The welcome tour works again — and it knows when to stay out of the way
- Bug FixThe welcome tour was broken for everyone: clicking Next on the very first step always ended in “Hit a snag setting up your practice space,” no matter how good your connection was. The song the tour builds for you was being saved in a shape the library couldn’t accept — our mistake, on our side, every single time. Fixed, and our build now refuses to ship if the tour’s demo song ever drifts out of shape again.
- Bug FixThat same error message used to tell you to check your connection. It wasn’t your connection. The message now says plainly that the problem was on our side — and either way, Try again and Skip are both right there.
- FunctionThe tour now stays out of the way when you arrive for someone else’s song. If you followed an invitation — a join link, a session, a camp — you go straight to the song; the tour waits until you’re on your own dashboard with a minute to spare. You can always run it yourself from Settings.
- FunctionThe tour’s demo song never uses one of your five free song slots — it lives on your library’s Practice shelf, and if it grows into something you love, making it a real song takes one tap (that’s the moment a slot is spent).
- FunctionFinishing the tour now ends somewhere useful: start your first song right there, or bring in songs you’ve already written — your call, one click either way.
11 August 2026
The rules about how WritingRoom looks and talks now live somewhere a person can read them
- improvementThere is now one place that holds how WritingRoom looks and how it talks — the two golds and which one belongs on which background, the type, the icon rules, and the plain-language rule that has been shaping every message you read in here: honest is not the same as technical. That rule was already checked automatically on every sentence in the app, but until today the only copy of it lived inside a test file, where nobody could actually read it. Now it is written out, with the real before-and-after rewrites beside it. It is a room for the team rather than a page for writers, but the reason it exists is you: the same sentence, said the same way, every time.
- improvementWe checked, properly, that mail from WritingRoom actually arrives — by reading what the internet says about writingroom.io rather than by sending one message to one inbox and calling it proven. Two of the three checks are in good shape. The third is only watching rather than enforcing, and that is now written down as something to finish instead of something nobody had looked at. Mail that quietly does not arrive is the one kind of problem this app refuses to ship.
- Bug FixTwo messages the app sends — the camp schedule with your meeting link, and the alert when somebody in a room asks for help — were still going out through the old door: not from a WritingRoom address, and invisible to us if they failed. Found and written down today with the rest of the mail; the fix is next.
11 August 2026
The beta room tells the truth about what's been checked
- SecurityBeta test results were readable by anyone on the internet — signed out, no account — including tester names, emails and notes. The rule everyone believed said ‘signed-in testers only’ didn't actually say that. Found today, locked the same hour, and proven from three sides: signed out sees nothing, a tester sees everything, and the fix now has a test that fails our build if that door ever reopens.
- FunctionThe testing room stopped being a wall of seventy grey checkboxes. It now leads with what still needs a person, in order of importance — and everything already proven folds away behind a real count. Every single item says what has actually been done to check it, by whom, and when: ‘confirmed with two real accounts on the live site’ is not the same claim as ‘our tests guard this’, and the room now says which is which. Nothing is allowed to call itself confirmed without saying what the evidence was — our own build fails if it tries.
- FunctionEvery confirmed item keeps an ‘it didn't work for me’ button, and one dissent pulls it straight back onto the needs-checking list, above everything else. Confirmed has been wrong before. If it's broken for you, it's broken — and you saying so outranks our proof.
- FunctionTwenty new checks cover what shipped this week: group conversations, proposing and locking writes, the writes calendar, wrapping a camp into a recap, bringing in your PRO catalog, the Free plan's song shelf, private ratings, the new front door, and more — each written as something a songwriter can actually do, not an engineering step.
- Bug FixThe bug report window was unreadable on some colour themes — white text in white boxes. Fixed: the form now wears your theme properly. And the path behind it was re-proven today: pressing Send lands a real ticket in the owner's inbox. (That path once failed silently for everyone, forever. It gets re-proven, not trusted.)
- DecisionOne old check was retired: it existed to track the members-can't-see-the-roster bug, which was fixed and proven with both accounts on 10 August. A checkbox for a ghost teaches people to tick boxes.
11 August 2026
Your songs are always yours to see — and the app talks like a person now
- Bug FixIf you're on the Free plan, your song list is yours again. "All Songs" used to be replaced by an upgrade screen — you could write in sessions but couldn't see a list of what you'd made. That was never the deal: your work is your property, and looking at it is not a paid feature. The Free limit is what it was always designed to be — you can keep five songs of your own at a time (delete one to make room; sessions you're invited to never count), and everything you make stays visible in your library, always.
- Bug FixNo more now-you-see-it-now-you-don't: some pages used to show your things, flash a loading message about your plan, then swap to an upgrade screen. Pages now wait quietly until they know what your plan includes, and then show either the page or the honest ask — never one and then the other.
- FunctionThe upgrade window can finally sell the annual plan. It now shows both prices — $15 a month billed annually for Studio (instead of $19 month-to-month), $79 for Publisher — with the yearly totals spelled out. It starts on annual because that's the better deal, the monthly switch is right there, and whichever you pick is exactly what checkout charges. Before today the window could only ever charge monthly, whatever the pricing page promised.
- CosmeticA plain-language pass over every message in the app. Some screens had started sounding like a mix of AI jargon and programming language — technically honest, tonally wrong. Everything you can read has been rewritten the way you'd say it across the table at a co-write: "We couldn't read this file — we've kept it safe" instead of the robot version. Nothing got less honest; it just stopped sounding like the engine room. And a test now fails our own build if that kind of language ever creeps back in.
- FunctionThe Academy is a real path now: six lessons, numbered, walked in order, with your progress shown — a lesson counts as tried once you've opened its song, from any device. The "more lessons coming, subscribe" box is gone, and signed-in writers no longer see a "start free" ad on their own screen. "Try it" still opens a fresh song with the scaffolding filled in — that was always the good idea, and it stays.
- CosmeticThe menu stopped showing Free accounts a "Catalog" door that could never open — it's a Publisher tool, and now it appears only for Publisher accounts. On phones, the bottom tab that used to lead to that locked door now leads to your own songs.
11 August 2026
The numbers now come from the app, not from a text box
- FunctionThere's a real CEO dashboard now (admin-only, at /ceo). Until today the business numbers lived in boxes someone typed into a document — which means they were only ever as current as the last time someone remembered. Now the app computes them itself, every night: how many writers actually wrote this week (and progress toward the goal of ten weekly writers), how many new writers joined, how many invited people became members, how many came back their second week, verified credits in the directory, and — once the payment account exists — revenue, paying customers and cancellations.
- DecisionThe dashboard refuses to guess. A number it can't compute shows a loud ‘couldn't compute’ instead of a zero, because a zero you can't trust is worse than no number. Until the payment account opens (planned Aug 17), the money tiles say exactly that. Tiny counts show as raw events (‘1 of 3 joined’) rather than misleading percentages. And if the numbers are more than a day old, the whole board says so in red.
- SecurityOnly the admin account can see any of this — checked on the server, not just hidden in the page. And the dashboard never looks at anyone's private roster ratings: those are yours alone, and a test fails the whole build if any code tries.
11 August 2026
Signing in brings you back here — and a free month, not a free week
- Bug FixFixed the worst thing that could happen to a brand-new writer: you pressed Sign in with Google, signed in perfectly, and landed on somebody else's website — the platform we build on — with no way back except typing writingroom.io again by hand. The address we handed Google to send you back to was written as just "/", which means "wherever you are", and by the time Google answered, "wherever you are" was no longer us. Every sign-in link in the app now hands over the full writingroom.io address, so you come back to the page you started from. If you tried WritingRoom once and thought it was broken — this was it, and it's fixed.
- Bug FixThe Academy's "Try it" button used to sign you in and then forget where you were going. It takes you to the lesson now.
- FunctionYour free trial is a full month, not seven days. "Your first month free" is now literally true, on Studio and on Publisher. Your card isn't charged for 30 days, and if there's no card on file when the month ends you get an invoice you can act on rather than the trial quietly disappearing.
- FunctionPartner codes work at checkout. If you're a SongShare+ member (or arrived through any partner), there's an "Add promotion code" box on the payment page — the pricing page now tells you it's there, because it was easy to miss.
- CosmeticThe pricing page got rebuilt to match the front page: the same dark room, the same gold, the same typeface. It used to borrow whichever colour scheme you had chosen inside the app, which meant signed-out visitors and anyone on a light theme could get a page that fought itself. Public pages now look the same to everyone.
- Bug FixPressing Start a trial while signed out used to end in "Trial request failed". Now it takes you to sign in and comes straight back to the plan you picked.
- FunctionNew writers can find the catalog importer. "Import your PRO catalog" was only linked from one spot deep inside Settings, so nobody arriving fresh ever saw it. There's now a pointer on your dashboard while your room is still new — dismiss it and it stays dismissed.
- DecisionEveryone gets the 30-day trial, not just partner-code holders. One trial length is one thing to explain, and it keeps the SongShare perk clean: a free month for everybody, 30% off the first year for them.
11 August 2026
A camp can end well — wrap it, and the recap is ready to share
- FunctionHosts can now WRAP a camp. There's a new "🏁 Wrap this camp" button at the top of the camp dashboard: it asks you to confirm, lets you write a short recap note and pick which songs to feature, and then the camp's public page becomes a recap — the camp's name and dates, how many days and sessions and writers, and the songs that got written with the names of the people who wrote them. Nothing is deleted, ever: every session, song, message, and roster entry stays exactly where it was, and a banner on the dashboard says so.
- FunctionChanged your mind? Un-wrap. The banner has an Un-wrap button (hosts only, with a confirm) that takes the recap down and puts the camp back exactly as it was — the write end never burns a bridge.
- FunctionThe recap has a "Share recap" button that copies a special link: paste it cold into iMessage or Slack and it unfurls into a real preview card with the camp's banner and its headline numbers, then lands the reader on the recap page. Regular pasted links couldn't do this — chat apps don't run the page's code — so this link is drawn by the server itself.
- SecurityThe public recap shows display names and counts only — never an email address, never a lyric, never a split percentage. Members of the camp see the same recap through the same guarded door, because song records are private even between campmates; the server projects only what's safe to say out loud.
- FunctionSplit-sheet honesty carries onto the recap: a song signed by every writer gets a quiet "✍ Signed by all" mark, and a song that ISN'T fully signed says so louder — "⚠ Split not fully signed — 2 of 3" — because a missing signature should never look done.
11 August 2026
Bring your PRO catalog with you — and an honest badge to go with it
- FunctionYou can now import your whole works catalog from your PRO in one go. Download your catalog from your own BMI, ASCAP, or SESAC account (the new Import your PRO catalog page walks you through exactly where to click for each one), upload the file, and WritingRoom reads it: every work, every listed writer, ISWCs, registration dates. You see the full table first — what's new, what matches credits you already have — and nothing whatsoever is added until you press the button. Works you already had are matched, never duplicated.
- FunctionCredits imported this way get a new badge: "Corroborated — PRO statement on file." Plain talk about what that means: the file came from you, so it corroborates your credits rather than independently verifying them — and the badge says exactly that instead of borrowing a stronger word. It only appears on works where your catalog actually lists you (matched by your IPI number, or by name). Anyone can spot-check a registration themselves at BMI Songview, ASCAP Repertory, or SESAC's public search, and the badge tells them so. Stronger verification tiers are coming and will upgrade these badges automatically.
- FunctionIf we can't read your file, we say so and keep it anyway. It's stored on your profile as "statement on file — we couldn't read it yet" — private to you — and we note how the file is laid out so a future upload can work. We never invent credits from a file we couldn't read, and we never pretend a parse worked when it didn't. GMR members: upload whatever your Client Portal gives you and we'll handle it by hand for now.
- SecurityYour uploaded catalog file is private — only you (and WritingRoom support) can ever open it. The public sees the badge, never the file. And the importer never emails anyone: co-writers named in your file are recorded on the credit, but nobody gets an invitation unless you send one yourself.
- DecisionShares listed in a PRO export do not touch your split sheets. In real exports the writer percentages don't reliably add up (we proved this on a real file), and a registration is not an agreement between people. Splits in WritingRoom only ever come from a split sheet everyone signs.
- DecisionWe looked hard at The MLC's database as the verification source and parked it: there's no free lookup path, so it waits as a future upgrade tier rather than a launch dependency. And we will never scrape the PRO websites — you export your own file from your own account, full stop.
11 August 2026
Writes have names, a calendar, and an archive that lets go
- FunctionWrites have names now. When you propose a write you can say what it is — "The bridge for Held By Mercy" — and that name follows it everywhere: the invitation in the room, the email subject, the Zoom meeting, and your calendar. Before today a locked write was called "A Write", which told you nothing at the exact moment you most needed telling. If you leave the name blank it fills itself in from the room: a private thread with one person becomes "Write with <their name>", and a group write takes the group's name. Writes you scheduled before today get a proper name too, including the ones that were already sitting on your calendar called "A Write" — nothing needed converting.
- FunctionThere is a new Writes page: everything you have on the calendar and everything you have already written, in your own timezone. Anything happening with a room link has a Join button right on the row, and every write links back to its conversation and its song. Writes that have passed are dimmed and can't be joined — including one that was cancelled, even if the meeting link still works, because nobody should sit alone in a room that was called off.
- Bug FixArchiving a conversation no longer loses it. Anyone writing in a thread — a message, a proposed write, a locked time, a cancellation — brings it straight back to everybody's list. This was a real near-miss: a thread got archived by accident during testing with a live write invitation sitting inside it, the invitation reached nobody, and the "1 new" badge kept counting messages that could not be opened. That badge now counts only conversations you can actually see.
- CosmeticThe Archive button in Messages was reading like a verb, so people pressed it and then could not find the way back. It is now an obvious two-way switch — Inbox / Archived — with a count beside each, and archiving something gives you an Undo you can press for a few seconds afterwards. The button inside a conversation says "Archive" or "Unarchive" in words rather than being a bare icon.
- FunctionYour writer roster is searchable. Type a name or an email in the New conversation window and it filters as you go; sort by who you worked with most recently, by first name, by last name, or by your own rating; and narrow to a single camp. The same search is in the Add writers window.
- SecurityYou can now give any writer a private 1-to-5 rating. Private means private: the writer cannot see it, nobody else on any shared roster can see it, it never appears in an email, and it is never sent to anyone else's app — not even to an administrator. It is stored on your own address book row, which is locked to you by the database itself rather than by a promise, and there is a test that fails the build if anyone ever loosens that lock. It exists to sort your own list, nothing else.
- DecisionShared or public ratings are deliberately NOT being built. A rating other people can see is a reputation system, and a reputation system needs its own answers about fairness, pile-ons, and what a writer can do about an unfair one. Those answers do not exist yet, so the feature waits rather than shipping half-thought-through.
- Bug FixThe automated test suite was failing before any of today's work started — two tests had been left contradicting each other about the home page, so nobody could tell a real breakage from that one. Fixed, so a red test means something again.
11 August 2026
WritingRoom finally has a front door
- FunctionThere is now a real home page at writingroom.io. Before today, anyone who was not signed in landed either on a half-finished page or on a 404 — including the reviewer at Google, who turned down our sign-in button with the note that our home page does not explain what the app is. It does now: what WritingRoom is, the six things you can do in it, who it is for, and a plain-English section on exactly what Google tells us when you sign in with Google (your name, your email, your picture — and nothing else; we cannot see your Drive, your contacts or your calendar, and your lyrics are never used to train anybody's model).
- CosmeticNew logo everywhere — the fountain pen whose top curls into a treble clef, in WritingRoom gold. The little icon in your browser tab is a different drawing on purpose: the full mark turns to mush at that size, so the tab gets the clef on its own. Phone home-screen icons and link previews were also redone, so sharing a WritingRoom link now shows a proper card instead of nothing.
- Bug FixThe 404 page's "Home" button used to send you to a page that did not exist. It goes to the new home page now. /home and /landing also work instead of dead-ending.
- DecisionThe tagline is "Where songs get made." It replaces "Where songs get written" in every place we say it.
11 August 2026
Propose a write — pick times, everyone votes, the winner locks in with the room link
- FunctionYou can now tell WritingRoom when you're free to write — tap the parts of the week that usually work (“Tuesday and Thursday afternoons, most Saturdays”), in your own timezone, in about fifteen taps. It lives in Settings → My Writes and at the bottom of Messages. Free on every plan, and private: co-writers never see your week — only whether a proposed time works.
- FunctionFrom any conversation you can now Propose a write. WritingRoom looks at everyone's stated availability and suggests the times you're actually all free — you pick two or three, everyone taps “Works” or “Can't”, and the poll lives right in the conversation. No calendar hookup, no other app, no group-text math.
- FunctionWhen a time wins, the organiser locks it in and it becomes a scheduled write: the time in everyone's own local clock, the Zoom or meeting link attached, and the song carried with it. Everyone gets one email saying it's on. Upcoming writes appear on your Dashboard and in Messages — and only when something is actually scheduled.
- FunctionThe room link finds itself: a link you paste wins, then your camp's usual room, then your own saved room, then a fresh Zoom meeting if Zoom is connected. And if none of those exist, the write says “no room link yet” out loud instead of showing a confident green button that goes nowhere.
- DecisionAnswering is free for everyone, forever — voting on times, setting your availability, joining the write. Proposing and scheduling is the organiser's half and belongs to Studio. While the beta is invite-only, every beta writer can do all of it.
- DecisionIf nobody in the room has set availability yet, the suggestions say so plainly — they're starting points to vote on, not a pretend overlap. And when no time works for everyone, WritingRoom says that too, and shows you the closest, instead of quietly proposing a time someone already said no to.
- DecisionLocking in a write does not create the song. The song gets made in the room, by you — a cancelled write should never leave an empty song behind.
- Known IssueThe scheduling screens are staged and waiting on the next publish. Until then, the buttons aren't on the site yet — the machinery underneath is already live.
10 August 2026
Your legal identity is under lock — and the split sheet still fills itself in
- SecurityYour legal name, PRO, IPI and publisher details can now only be read by you — nobody else’s account can pull them off your record. Split sheets still fill in for your co-writers: the sheet now asks WritingRoom itself for exactly those fields, only for the writers actually on that song, and only when you’re on it too. Phone numbers and mailing addresses are never handed over this way — those only appear on a sheet if you typed them in yourself.
- SecurityThe “identity verified” badge can no longer be switched on by any writer’s account — we proved the lock by trying and getting refused. Only WritingRoom’s own verification check can set it, at the moment your IPI number matches your registered name.
- SecurityTwo quiet leaks closed: a session invite link no longer exposes the host’s email address to whoever asks for it, and the verification records no longer expose verified writers’ email addresses. The join page and the badges look exactly the same — they never needed the emails.
- SecurityA profile link written with an email address in it now swaps itself for the writer’s clean public address before the page draws, so link previews and search engines never see the email.
- Bug FixSection voice memos now actually travel with the song. Your own playback always worked, but the copy meant for co-writers was being silently thrown away on save — for everyone, since the feature shipped. Nothing old was lost; it was playing from a second copy that only sometimes had the memo.
- FunctionThe waitlist now asks — all optional — who you are as a writer: artist name, city, PRO, IPI, genres. Skip it and nothing changes; fill it in and the day your invite comes, your directory profile is already half-built.
10 August 2026
Conversations are real now — group threads, a Messages home, and rooms for every song
- FunctionThere is now a Messages page — one place where every conversation you're in lives: private threads, group conversations, and each song's write chat. Nothing you send can 'disappear behind' an approach card or a dashboard box anymore, because conversations are no longer scattered across the places they started.
- FunctionYou can start a conversation with several writers at once — pick the people, name the room if you like, and everyone sees the same thread. Free for every plan, no limits: talking is how co-writes start, and WritingRoom never charges for talking.
- FunctionYour writer roster builds itself. The people you've written songs with and shared camp rosters with appear automatically when you start a conversation — and you can add others by email, and save a set of writers as a named group you can message in one tap.
- FunctionEvery song now has a Write chat — a room scoped to that song, with the song's writers already in it, one click from the song's page. It lives in the same Messages inbox as everything else, not on some fourth screen.
- Bug FixFixed the bug where two people could end up with parallel threads and messages seemed to vanish. There is now exactly one conversation per pair of writers, and everything you'd already said to each other has been carried into it — no message was lost in the move.
- FunctionPublishers get a roster community switch, OFF unless you turn it on: when on, writers on your roster can discover each other — display names and published profiles only, never email addresses — and connect through the same approach system as everyone else. Turning it off closes the room again.
- SecurityA conversation is readable by the people in it and nobody else — not even an admin's account sees rooms it isn't part of. And blocking still means what it meant: if someone you blocked is added to a conversation, that conversation simply never appears for you, so adding you both to a group is not a way around a block.
- DecisionArchiving a conversation tucks it away for YOU only — nothing is deleted, nobody is told, and you can bring it back any time. There is deliberately no open chat feed and no online-status dot: rooms you chose to be in, nothing else.
- Known IssueThe Messages page and everything above are staged and waiting on the next publish. Until then the site still runs the old behaviour. While this feature is pre-launch, the 'you've been added' emails go only to the test addresses; everyone else still sees their rooms in Messages the moment it ships.
10 August 2026
Recordings now go to our own audio storage — and the storage meter tells the truth
- FunctionEvery new demo, voice memo and phone recording now goes straight into WritingRoom’s own audio storage instead of the platform’s. Nothing you already had has moved and nothing plays differently — but recording is no longer capped by a monthly platform allowance, so a room of a hundred writers can all record on the same afternoon.
- FunctionStorage limits are now real. Before anything uploads, WritingRoom checks whether the file fits the space on your plan. If it doesn’t, it tells you exactly how much over you are and which plan would hold it — and nothing is uploaded, so nothing is lost.
- DecisionThe storage meter never rounds a guess up into a fact. Files saved before today have no size recorded against them, so the meter reads “at least 1.2 GB of 2 GB used” and says how many older files it couldn’t measure, rather than quietly pretending they weigh nothing.
- Bug FixIf a recording can’t be saved, you now get a notice that stays on screen with a Try again button that re-sends the take you just made. It used to vanish after a few seconds — and on the phone, not appear at all.
- Bug FixAttaching a batch of demo files used to say “12 of 15 attached” without telling you which three failed. It now names each one and why, leaves them in the list, and retries just those when you press Attach again.
- Bug FixAn older demo that couldn’t be moved to the new storage used to be deleted from the song without a word. It is now kept and marked instead — nothing gets thrown away quietly.
- Known IssueSection memos — the small recordings attached to a single verse or chorus — still use the old storage for now. They count against your limit and fail loudly like everything else, but moving them needs the export and camp screens taught the new way of reading audio first.
- Known IssueThese storage changes are staged and waiting on the next publish. Until then the site still runs the old behaviour.
10 August 2026
Camp email now goes to the right people — and tells you the truth about it
- Bug Fix“Message writers” used to email only the writers already on a song — anyone seated on the camp roster who hadn’t started writing yet was silently left out. Choosing ‘Everyone’ now includes your whole roster, and the modal lists the exact email addresses it is about to send to, before you press Send.
- FunctionCamp emails now go out through WritingRoom’s own mail service, from the WritingRoom address, so every send shows up in the delivery log where it can be verified. The old path used the platform’s no-reply mailer: unverifiable, off-brand, and a platform credit per email.
- Bug FixIf a camp email fails to send, the screen now says so — a red notice that names who was missed and why, stays until you close it, and offers to retry just the failed ones. The old modal said ‘Sent’ no matter what happened.
- Known IssueThese camp-email fixes are staged and waiting on the next publish. Until then the site still runs the old behaviour.
10 August 2026
The front door is open — you can look around WritingRoom without signing in
- FunctionYou no longer have to sign in just to look. The home page, any public camp page, the writer directory, individual writer profiles, and the privacy and terms pages now open for anyone — a link you text a co-writer or a label finally lands on the actual page instead of a login screen. Signing up to WRITE is still exactly as it was; this only opens the pages that were always meant to be public.
- SecurityOpening the front door changed nothing about what strangers can see. Everything private — songs, messages, camp rosters, anyone's email or paperwork — is still locked at the server, so a signed-out visitor sees only what a public page is meant to show. We re-checked all three public pages from a signed-out window before shipping: no emails, no legal names, no publisher or IPI details anywhere.
- Bug FixIf you're a writer in a camp, you can now see the camp's roster — who else is writing with you. Until today the roster showed '0 on roster' for everyone except the host, because the privacy wall that keeps strangers out was accidentally keeping YOU out too. That wall has been rebuilt properly: it now knows the difference between a seated writer and a passer-by.
- SecurityThe public page for a camp is now served through a dedicated door that hands out only what a public page should show: the camp's title, dates, host card, how many spots are left, and writers' display names. Email addresses, phone numbers, and any pre-loaded paperwork details never leave the building for someone who isn't in the camp — and that's enforced by what the server sends, not by hoping the page doesn't display it.
- SecurityBeing in a camp means seeing the camp. Being outside one — even signed in — means seeing only what the host chose to publish. Private camps don't even confirm they exist to someone who isn't on them.
- CosmeticIf you're a writer (not the host) in a camp, the roster page no longer shows you the host's Admin Team panel, and an empty sessions list no longer suggests host-only tools you don't have.
- Bug FixIf a camp's public page fails to load because of a hiccup on our end, it now says so and offers a retry — instead of wrongly telling you the camp is private.
- CosmeticMore host-only controls tidied away from writers on the roster page: the Edit and Delete buttons on each row, the selection checkboxes, and the writer-capacity counter (which was showing writers an 'upgrade' pitch based on their own plan instead of the host's). Writers keep the Details view — seeing who's in your camp is the whole point — they just don't get handed the host's tools.
- Bug FixFixed the roster page jamming itself open. If a writer had been seated through a camp application, opening the Roster tab could instantly pop up an empty 'Pre-loaded info' form, throw a row into edit mode, and refuse to close no matter what you clicked — the page had effectively taken itself hostage. The cause was an internal ID missing from writers seated that way; every seated writer now gets one, existing rosters repair themselves, and the page can never mistake 'nothing selected' for a real row again. (Found because Terry hit it live, twice, in two browsers — thanks for the screenshots.)
9 August 2026
The phone was broken where it mattered most — and your work now tells you when it isn't saving
- Bug FixFixed the big one: on a phone, the Demos tab — where you record a voice memo — crashed the moment you started recording, and again just from opening it if the song already had a memo. Recording a 2am hook on your phone, the thing WritingRoom is supposed to be best at, simply didn't work. The record timer, the memo titles, the play button and the co-writer pad viewer were all calling helpers that were never wired up. They're wired up now, so capture on a phone works end to end. (Found in a full-tree audit; the screen looked fine until you pressed record.)
- Bug FixYour lyrics now tell you if they aren't saving. Until today, if a save failed — a dropped signal, a hiccup on our end — the writing screen said absolutely nothing. No warning, no red text. You'd carry on writing over work that was never reaching us, and lose it when the page reloaded. Now a brief blip quietly retries itself, and a real failure shows a warning that stays put, with a Try again button, and your browser will stop you closing the tab on unsaved words. This was the most-used save in the whole app and the one place silence was least forgivable.
- FunctionSplit sheets can now carry the publisher side as well as the writer side — the way a real co-publishing sheet reads. Writers add up to 100%, publishers add up to their own 100%, and the song totals 200%. That is correct, and the sheet now says so instead of looking like something is wrong. Each writer's publishing mirrors their writer share, a camp's publisher can take an agreed slice of it, and a writer with no publishing company is listed as their own name (Publisher Designee) with their own IPI rather than being left blank. Built against a real signed sheet from a Writing Rounds camp, and covered by a test that reproduces that sheet exactly.
- Bug FixYou can no longer sign a split sheet that doesn't add up. Until now the sheet showed a quiet 'needs adjustment' note and then let you sign anyway — and the tamper-check would call that signed, incoherent sheet 'unchanged since signing'. Signing now waits until each side reaches 100%, and tells you which side is short. A song totalling 200% across both layers is never blocked, because that one is right.
- FunctionCamps can set their publishing rule once, and every song written there follows it. Turn on writer + publisher splits, name your publishing company, set the share it takes of each writer's publishing, and enter your IPI for each society you're registered with — because a publishing company gets a different number from BMI than from ASCAP, and the one that gets used has to match that writer's society. Get that wrong and registrations come back rejected months later; the app now keeps them straight.
- FunctionSplit sheets export with the publisher side included — every publisher line with its own PRO and IPI, both totals, and a plain note explaining that 200% across the two layers is correct. That's what a society actually needs to process a registration.
- FunctionHosts can label the people in their camp in their own words — invited artists, staff, community, whatever fits how you run it. The labels show next to each person on the roster.
- FunctionYour details now travel with the song. The first time you open a song you're writing on, your legal name, PRO, IPI and publisher are copied onto that song's paperwork from your profile. Two reasons: a signed split sheet should be a record of a moment, not something that quietly rewrites itself when a co-writer edits their profile months later — and it means your details don't have to be readable by everyone else just so a split sheet can print.
- SecurityCamp hosts stop being able to erase each other. Adding, editing, removing or annotating a writer used to save your whole roster from the copy your page loaded with — so if a co-host added someone while you had the camp open, your next change wiped them out silently. Every roster change now merges into the live roster instead, and a change that fails to save says so.
- Bug FixWriters in a camp no longer see the host's tools. Someone merely seated in a camp was being shown Add Writer, Import, Export, the admin team panel and the Settings and Public listing tabs, on a camp they don't run. Those are host-only now. (Found by signing a real second account into a camp and looking at what it could see.)
- Bug FixThe camp tool that chases writers for missing paperwork now tells you what actually happened. It used to say 'Requests sent!' whether the emails went out or not — including when every single one failed. It now says how many were sent, names anyone it couldn't reach, and says plainly when nothing went out at all. (It was also downloading the entire member list once per writer to look up one person. It doesn't do that anymore, which makes it much faster on a big camp.)
- Bug FixTwo more places that used to fail in silence now speak up: your private scratchpad, and attaching a voice memo to a section. The scratchpad was also saving over the top of a stale copy, so two people writing in the same song could undo each other's notes — it now merges properly.
- FunctionRecording on a phone now gives you a 3-2-1 count-in, the same as on a computer. It isn't only for timing: without that beat, the phone's microphone hadn't finished waking up and the first second or two of a hummed idea came back empty.
- Known IssueKnown and still open: a writer seated in a camp can't yet see who else is on the roster — it shows as empty for them, even though the host sees everyone. Nobody's information is leaking; the opposite, it's being hidden from people who should see it. It needs a deeper change to how public camp pages get their information, which is planned rather than rushed, because the quick version risks exposing writers' details on public camps. Hosts and co-hosts are unaffected.
- FunctionYour PRO, IPI and publisher details are findable at last. They were always in your profile, but seven sections down, collapsed, and filed under 'Business paperwork' — so unless you already knew they were there, you'd never find them. (The owner of WritingRoom went looking for his own IPI to sign a publishing agreement and couldn't find it either.) That section is now called 'Your writer identity — PRO, IPI & publisher', it opens automatically while it's still empty, it tells you exactly which pieces are missing, and the split sheet now links straight to it instead of just telling you to go and set it somewhere.
8 August 2026 — the wow layer
Hosting a camp now does the heavy lifting for you, end to end
- FunctionNew 'Ready to go public' guide on your camp: a short checklist that lights up as you add a banner, dates, a description, writers and genres — then hands you a confident 'Publish camp — go live on the marketplace' button. You can always publish early; it guides, it never blocks.
- FunctionYou choose where signups go. Keep applications on WritingRoom (recommended — you get the applicant's profile, one-tap seating onto your roster, in-app messaging and automatic roster sync) or point them at your own site. If you take signups off WritingRoom that's fine, but the plain truth is on the page: you'll do the heavy lifting yourself.
- FunctionSet a target number of writers and your public page shows 'spots left' — and a graceful 'camp full, hosts keep a waitlist' when you're there. The urgency an Eventbrite page has, without the pushiness.
- FunctionPublish a public recap when your camp wraps: a short note, the numbers (songs, writers, days), and the songs you choose to feature — you curate exactly what the world sees, never the full private list. It becomes the page you show a label, generated by the product.
- FunctionPublisher camps now wear your brand inside the rooms too, not just on the public page — your accent colour carries through the host dashboard your writers work in.
- FunctionWriters stop being left guessing: when a host seats you on a camp — by adding you, importing you, approving your application, or accepting your request — you get an email with the camp and a link straight in. Sending never blocks or reverses the seating, and we never claim an email went out when it didn't.
- Bug FixYour roster now tells you the truth about how each writer got there. Everyone showed as arriving by 'share link' — even the applicants you personally read and approved — so you couldn't tell who you'd actually vetted. Applications, session invites and share links are now labelled correctly. (Verified end to end: a real writer applied to a public camp, was approved, and landed on the roster.)
- CosmeticCleaned up a confusing line in the applications inbox when someone applies before setting up their profile. It now says plainly that there's nothing to show yet and that it doesn't mean they have no credits — their message is right below.
8 August 2026 — later
Camps become a real stage: listings you can edit, brand and share
- FunctionYour camp's public page grew up. It now opens with a hero banner, shows a real date-and-time block in the camp's timezone, a host card that links to your writer profile, the genre and format chips, the session agenda, and a proper 'Reserve your spot' button when you've added a payment link. After the camp wraps it says so, and can show the replay.
- FunctionA new 'Public listing' tab on every camp lets the host edit everything on that page after creation — title, description, banner image, dates, timezone, city, format, genres, payment link, replay link — with a live 'Preview public page' button. Before this, a listing was frozen the moment the wizard finished.
- FunctionPublisher accounts can now brand their camp pages: custom accent colour and logo on the public listing. That's the start of the branded camp experience — your camp, your look.
- DecisionHosting is now tiered on purpose: Free accounts write and join but don't host; Studio hosts one camp at a time with the standard listing; Publisher hosts unlimited camps and unlocks branding; Label is built for rosters. Accessible to join, exclusive to run.
- DecisionStudio now hosts a camp with up to 25 writers (was ~5); Publisher and Label host unlimited writers per camp. When a Studio camp hits 25, you'll see a clear prompt to upgrade rather than a silent stop.
- Bug FixThe camp-count gate used to count camps you were merely a member of — so a Studio host with zero camps of their own could be told to upgrade. It now counts only camps you actually host.
- FunctionUpgrading from inside the app is real now. The upgrade window used to promise 'we'll email you' — it now takes you straight to checkout for the tier you need.
- FunctionSession invite emails finally include a WritingRoom join link, and you can attach a video call to any write — not just camp sessions. Open a song, tap Video call, paste or create your meeting link, and email your co-writers from right there.
- FunctionHosts got an 'Email this room' button on each session card, writers got a 'Your sessions' strip at the top of the camp so they always know where they're supposed to be, and the Host page (with your applications inbox) is finally reachable from the menu — it existed but nothing linked to it.
- SecurityA host's private roster notes, chemistry ratings and preloaded paperwork are no longer visible to every camp member — they're host-only now, as they were always meant to be. And only hosts can change the camp schedule; writers see it, they don't edit it.
- Bug FixRescheduling a camp now updates its public dates, countdown and calendar files. Before, the listing kept the original dates forever no matter how much the schedule moved.
- FunctionRiff, the help bubble, now actually answers questions — it reads the relevant help articles and writes you a real answer, citing the article it drew from, instead of echoing back a heading. If it can't reach the brain, it gracefully hands you the right article instead.
- FunctionThe Help Center displays its screenshots at last — 81 of them existed and every article was showing their filenames as grey text. Links inside articles are clickable now too, and the articles that pointed at screens which no longer exist have been rewritten.
- CosmeticThe welcome tour tells the truth again — it described three camp tabs when there are six, promised free features that were paid, and named the wrong tier. Also cleared out four retired tour systems that were shipping dead in the app.
- Bug FixApplications you've already decided no longer vanish — the Host inbox has Pending, Approved and Declined views. The camp wizard's review screen also had its 'edit' links crossed (clicking Sessions opened Rooms); fixed, and the Public/Private choice now explains what public actually means.
- Bug FixThe community ticker could advertise your private camps as 'open — apply now' because of a wrong query. It now only ever shows camps you've made public.
- CosmeticSharing a camp link now shows the camp's own title, description and banner in the preview on platforms that read pages the way browsers do. Full previews everywhere (iMessage, Slack) still need one server-side step — it's on the list.
- Known IssueBranded camp ROOMS (the inside-the-camp experience wearing the host's brand) is designed but not built yet — the public listing carries the brand today. Per-host Zoom accounts also remain on the roadmap.
8 August 2026
Market-readiness sweep — splits, camps, security and the little things
- Bug FixFixed the most important bug in the app: split sheets exported the wrong percentages. If you wrote a 60/40 song, every export — PDF, text, the release bundle — showed it as an even 50/50, and the tamper-check even flagged your own untouched sheet as 'splits changed after signing'. Splits you set are now what gets printed, everywhere, and are covered by an automatic test so it can't quietly break again.
- Bug FixThe free-tier split sheet was printing writers with no details and the text export printed an empty split section — both had a leftover switch that skipped the writer rows. They now include names, PRO, IPI, publisher and signatures as promised.
- SecurityClosed a serious hole: the app's global settings row (which controls the beta gate and the paid-import billing switch) could be changed or deleted by anyone at all, including someone not signed in. It's now admin-only, the same lock used everywhere else.
- SecurityMade camp rosters safe to publish. A public camp used to hand its entire roster — every writer's email, plus the private legal-name/IPI/PRO/publisher details a host preloads — to anyone who opened the page. Those details are now visible only to the host, co-hosts and people actually in the camp; a public visitor sees the camp, not the paperwork.
- Bug FixFixed access rules that silently never worked: a buyer couldn't read their own paid import order, and audit records couldn't be read by the person they were about. Both were a one-word prefix bug of the kind we've been sweeping out all week.
- Bug FixPaying more no longer takes features away. Several screens (the Publisher/Label dashboards, roster import, camp observer mode, export gating) were checking for one exact plan name, so a Publisher — who pays more than Studio — was treated like a free user. Every plan check now uses one shared ladder.
- FunctionHosting a camp now works end to end like it should. The camp's dates are saved (they were being thrown away, which made every camp invisible on the Live page), the writers you add actually show up on the roster, the discovery page has search and no longer hides camps or links to a page that doesn't exist, and the meeting controls on a real camp finally save instead of pretending to.
- FunctionSession invite emails always include a way back into WritingRoom, and joining a session now shows the video-call link instead of dropping you into the lyric pad with nowhere to go.
- FunctionCall for Help now reaches the host — it was being filed where no organiser could see it. The reply link also points at the right page now.
- SecurityAbuse reports are finally readable. Reports could be filed but no screen ever showed them, so every one since launch went unseen. Admins now have a Reports queue to review, note and resolve them.
- Bug FixCancelling your subscription now actually cancels it with Stripe (it used to only leave a note and keep billing you), and 'Manage billing' opens your real Stripe billing portal instead of a test-mode placeholder.
- Bug FixYour profile background colour now saves and shows — it was the one profile setting that was never being published. And the 'confirmed' badge on a public profile no longer renders invisible for signed-out visitors.
- Bug FixRenaming a song waits for the save before refreshing, so a rename can't silently snap back. Several buttons that quietly showed a green 'success' message when they'd actually failed (and a couple that showed red on success) now tell you the truth.
- Bug FixYour dashboard no longer says 'no songs yet' when it simply failed to load them — it shows a Retry instead — and a saved profile can't fail silently anymore.
- FunctionThe release bundle (for handing a song to a distributor or a platform like DISCO) now exports clean: lyrics keep their line breaks, writer IPI/PRO/legal-name fill in from real songs, everything is properly escaped, and any audio that couldn't be included is listed rather than dropped without a word.
- CosmeticThe public 'What's changed' page now shows the real, current changelog instead of a version frozen in May. Genre filtering on the writers directory groups 'Worship', 'worship' and small typos together instead of splitting one genre into three. The Live page respects light themes. The browser tab now shows a WritingRoom mark instead of a third-party logo.
- FunctionBlocking is a little more honest: if you've blocked someone, reaching out to them no longer fires an email at you by mistake. (The fully airtight version still needs a server-side check — noted as a known issue.)
- Decision'Invite to write' was renamed to 'Ask to write together', because accepting it opens a conversation, not a co-writing session — and per an earlier product decision, accepting deliberately opens a DM and nothing else. The label now matches what actually happens.
- Known IssueA blocked person's approach is invisible to you everywhere in the app, but the fully airtight email block still needs a server-side check that can't be built until the app has a service-role backend client.
- Known IssueSession-invite emails only carry the WritingRoom join link once the sender passes a session code; the camp meeting panel is ready to send it, and wiring that last hop is the remaining step.
6 August 2026 — later
The beta testing room, and a bug report system that never worked
- Bug FixFixed in-app feedback, which had never saved anything. Every attempt to report a bug, suggest an improvement or ask for a help article was refused the moment you pressed Send. The form looked completely normal, so anyone who used it reasonably believed their report had gone through. Found by actually pressing Send on the live site rather than assuming a shipped feature works.
- SecurityA bug report or test result can no longer be filed under somebody else's name — each now has to carry the sender's own account, the same protection added to camp applications and connection requests earlier this week.
- FunctionAdded a Beta testing page: everything that needs trying out, grouped by area, with plain-language steps and a note prompt written for that specific test rather than a generic 'what happened'.
- FunctionTest results now stack instead of replacing each other. If two people test the same thing you see both, with names — so nobody repeats work already done, and a problem one person hits isn't averaged away by four people who didn't.
- FunctionClosed the loop between a fix and a confirmed fix. A ticket used to end at 'shipped', which only recorded that we believed it worked. Fixes can now be published to testers to confirm, and only become 'verified' once somebody actually reproduces the fix on their own account.
- SecurityBug reports stay private. When a fix goes out for confirmation, testers see a short summary written by hand — never the original report, its screenshot, the sender's email or the page they were on.
- FunctionReporting a bug from a failed test carries the details across automatically, into the same reporting form and the same inbox as everywhere else in the app.
- FunctionAdded System Tests — checks that look identical on screen whether they pass or fail, so they get run deliberately rather than eyeballed. The broken feedback system above is exactly what that category exists to catch.
- FunctionThe changelog now lives inside the app, on the same page, so what changed and what needs testing sit side by side.
- FunctionYou can remove a result you recorded by mistake. Only your own — and an admin can tidy any, since an admin is who gets asked. A wrong result is worse than no result, because the whole point of the board is that the next person reads it and decides not to re-test.
6 August 2026
Appearance overhaul, profile theming, private messaging and camp trust
- FunctionRebuilt the theme system so a colour scheme and a photo background are two separate ingredients you can mix, instead of one locked-together package. Added two new themes, Forest and Tide, taking the gallery to 14.
- FunctionAdded a Customize screen: pair any colours with any photo set, or build your own from two colours, and save the result as a named look.
- FunctionYou can now upload your own photos to use as a background, rather than only the built-in sets.
- FunctionText panels now stay readable over busy background photos everywhere in the app, not just on the one screen where that was originally handled.
- Bug FixFixed Plain mode showing as a blank white page, and fixed the background photo not actually turning off when you chose Plain.
- Bug FixFixed One colour making text unreadable on certain colours. The app now works out readable text for any colour you pick.
- Bug FixFixed Light, Dark and Auto behaving inconsistently — some showed a photo, some didn't. They now always land on a clean, photo-free look.
- Bug FixFixed a background photo that would quietly come back on its own about a minute after you turned it off.
- Bug FixFixed choosing a solid colour greying out every other theme until you refreshed the page.
- Bug FixFixed a custom mix silently reverting to the original theme's colours as soon as you changed the photo set.
- CosmeticCut the wall of theme tiles down to one or two per category with a 'see all' option, so browsing looks is far less overwhelming.
- CosmeticReorganised Customize into three clear boxes — start from a template, build your own, and photos.
- FunctionYour public profile's look setting now actually changes how your page appears. It previously did nothing at all.
- FunctionPublic profiles now offer nine looks, built from themes already proven inside the app.
- FunctionYour accent colour now also tints your profile picture frame, and you can set each frame style's colour individually.
- Bug FixFixed the 'what the world sees' preview so it shows your real chosen look — before this, picking a look was guesswork.
- Bug FixFixed a frame-colour control that looked like a button but could not be clicked, and replaced confusing wording with a plain 'Match my accent' reset.
- Bug FixFixed the Malibu profile look showing as almost solid black in its preview, so you could not tell what it was until you chose it.
- FunctionLaunched writer-to-writer private messaging — deliberately only after two writers have both agreed to connect. There is no open 'message anyone' feature.
- FunctionAdded blocking and reporting, an inbox of sent and received connection requests, and a shortcut for hosts to seat an accepted writer straight onto a camp roster.
- Bug FixFixed private messaging so the person you write to can actually read it. Until this fix only the owner's admin account could ever open a message — everyone else could send but never receive.
- Bug FixFixed Call for Help so the person who raised it, and moderators, can see and close it. The same underlying error had made it invisible to everyone but an admin.
- SecurityClosed a hole that let someone apply to a camp while pretending to be a different writer, or aim a forged email at another host's inbox.
- SecurityFixed a flaw that could have let a blocked writer work out who had blocked them. Only the person who blocked can now see that record.
- FunctionApplying to a camp now requires an account. Browsing camps stays open to anyone.
- FunctionAuto-assign by genre fit now genuinely works — the control was on screen before but did nothing. In testing it more than doubled well-matched pairings.
- Bug FixFixed a camp's record of who plays what being wiped every single time the camp was saved.
- Bug FixFixed skill level being visible only to the camp owner, and fixed View profile on an applicant always leading to a dead link.
- Bug FixFixed the 'someone applied to your camp' notification, which had never once fired for anybody.
- Known IssueA blocked person's connection request can still trigger a single email to the person who blocked them, because email sending cannot yet check the block list. Users are told this in the block dialog rather than it being hidden.
- Known IssueIf a camp is ever made public, roster names, emails and publishing details would become visible to anyone. This must be fixed before that feature ships.
- Known IssueA camp's session date and time still isn't saving properly, so the public live camps listing stays empty. A 'Zoom meeting created' message can also appear when the link was not actually saved.
5 August 2026
Public profiles, permissions, and a full privacy sweep
- SecurityFixed a serious hole where any signed-in person — not just the owner — could read, edit or delete the entire beta and waitlist invite list, including everyone's email address. Someone could have granted themselves full access, or deleted other people's invitations.
- SecurityLocked down phone numbers, addresses and contact emails so only the account owner or an admin can see them.
- SecurityChecked all nineteen kinds of data the app stores and confirmed private information genuinely stays private from anyone browsing while signed out.
- SecurityFixed a flaw that let someone send a networking request while impersonating another writer.
- SecurityFixed a coding error that let any signed-in user invite people to camps they did not host, or create Zoom meetings for camps that were not theirs.
- Bug FixFixed public profiles missing their banner, showing a generic label instead of 'Verified Writer', and cutting biographies short.
- Bug FixFixed the Customize profile tab, which appeared to save your changes and silently threw them away every time.
- Bug FixFixed Copy profile link producing a link only you could open, and fixed the paid custom web address feature, which did not work for anyone but its owner.
- FunctionYou can now choose section by section which parts of your profile are public, instead of one all-or-nothing switch.
4 August 2026
Skill levels, sign-up page, and groundwork
- DecisionLocked in that skill levels always read as words, never numbers or stars — writers found being scored one to three demeaning. The old free-text box became a proper picker.
- Bug FixFixed the public sign-up page showing pale text on a pale background, making it unreadable for brand-new visitors.
- FunctionLaid the groundwork in the background system that the next day's theme overhaul was built on.
2 August 2026
Storage move, public site cleanup, honest marketing copy
- FunctionMoved audio — voice memos, demos, mixes — onto faster, cheaper, more reliable storage, with every song able to fall back to its old copy if anything goes wrong. Costs drop sharply at scale.
- Bug FixFixed signed-out visitors hitting an endless loading spinner instead of the real homepage, and fixed that page being unreadable for them.
- CosmeticRedesigned the public homepage and the waitlist page with a more premium look and clearer, writer-focused wording.
- CosmeticRenamed the Hit Song Analyzer to the Lyric Analyzer, because it does not predict hits.
- Bug FixSoftened marketing copy promising 'more lessons every week' when no weekly schedule existed, and removed the 'draft, pending attorney review' watermark from the public Terms and Privacy pages. The legal text itself still needs a real solicitor's review — only the label went, not the risk.
- Bug FixFixed the public live page: removed a 'every Tuesday' claim when nothing was scheduled, dropped off-brand colouring, and fixed two buttons that were invisible against their own background.
- Known IssueThe free public Lyric Analyzer needs no login and shares a monthly usage allowance with paying customers. It needs its own limit before it is promoted more widely.
1 August 2026
Identity verification, session access, credits.fm
- FunctionLaunched automatic identity verification — writers registered with a rights organisation can earn a verified badge with no manual review.
- Bug FixFixed the root cause of writers being locked out of sessions they had been invited to. Co-writers added by email, by roster or by song are now recognised instead of being treated as strangers and bounced to the homepage.
- Bug FixFixed adding a co-writer to a standalone song actually granting access. It previously only worked for songs inside a camp, so many invited writers had none. If it still fails, the host now sees a warning instead of silence.
- Bug FixFixed join links intermittently failing with 'invalid code' unless the session had been open a while. Links now work the moment they are made.
- FunctionReplaced the permanently broken 'verify with MLC' button with a working credits.fm lookup that checks both identity and authorship.
- FunctionSong credits now store the composition code as well as the recording code.
- Bug FixFixed an Apple Music lookup that could crash with a raw error instead of saying the service was busy.
31 July 2026
Launch readiness
- FunctionConfirmed card payments for subscriptions work end to end, settling earlier worries that they were broken.
3–5 July 2026
Launch audit and mobile sweep
- CosmeticReplaced about 117 old-style browser alerts with cleaner notifications, and made subscription plan names consistent across help, settings and dashboards.
- Bug FixFixed paying subscribers being shown as free — wrong plan name, wrong storage limit — in around eight places, and fixed the admin tool for changing someone's plan, which a layout bug had made invisible.
- Bug FixFiltered old practice camps out of host and label dashboards.
- Bug FixFixed the phone menu not scrolling, which put Settings and Sign out out of reach, and fixed pop-ups running off the bottom of small screens.
- Bug FixFixed the screen zooming and jumping while typing lyrics on a phone, and gave lyric lines more room to tap.
- Bug FixFixed the welcome tour skipping steps, landing on the wrong page and changing appearance halfway through.
- Bug FixFixed Upload demo, which was broken on every device and left blank entries behind.
24–26 June 2026
Publisher model, camp messaging, and a work-loss bug
- Bug FixFixed lyrics and notes being lost if you left the page within about a second and a half of your last keystroke. Work is now saved the instant you leave.
- Bug FixFixed voice memos attached to a song section appearing to save and being discarded, and fixed them not showing up in the section they belonged to.
- Bug FixFixed shared voice notes in a camp reaching only some co-writers instead of everyone.
- FunctionAdded a Message writers tool to the camp dashboard with filters, templates and a live count of who still has not replied.
- Bug FixReplaced a plain browser pop-up about the free song limit with a proper upgrade screen. The better version already existed in the code and had never been shown to anybody.
- CosmeticRenamed the Label Dashboard to the Publisher Dashboard to match the plan it belongs to.
- FunctionAdded a discount code giving new subscribers a free month plus 30% off the first year.
15 June 2026
Root cause of the 9 June outage
- SecurityFound the real cause of the 9 June outage: a backend permission mode everyone believed was granting elevated access was not working at all, and had silently broken both invite links and shared lyric pads. Both were rebuilt to check membership properly rather than lean on that broken shortcut.
- FunctionAdded a working join-by-link flow — request access, the owner approves, you are added automatically.
- Bug FixFixed invite text pointing at the wrong web address.
4–5 June 2026
Privacy audit, trust layer, and the first theme system
- SecurityRan a full privacy audit using a second real account and confirmed one writer cannot reach another's private songs, camps, rosters or credits, nor read their account details.
- SecurityFound and closed a gap that could have let someone write into the shared lyric pad of a song they had no part in, and rebuilt how those pads sync.
- SecurityRemoved a 'use my location' search from the public directory because it contradicted the app's own privacy policy.
- FunctionLaunched a working public Writer Directory. It had been showing empty to every visitor because of a permissions fault.
- FunctionAdded tamper-evident split sheets, which flag if a signed agreement changes afterwards; a verified badge for independently confirmed credits; and a private ghostwriter option so a credit counts without a name being shown.
- FunctionShipped the first theme system — twelve looks plus a match-my-system option, with rotating photo backgrounds.
- Bug FixFixed switching themes leaving the previous theme's photo behind, and pages that ignored your choice and stayed gold.
22 May 2026
Feedback, and the beta gate
- FunctionAdded in-app feedback: a button on every page for reporting a bug, suggesting an improvement or asking for a help article, with the page, device and app version captured automatically and an optional screenshot.
- FunctionAdded an admin inbox for triaging that feedback, with filters, priorities, assignment and private notes.
- FunctionAdded the invitation gate that keeps the app closed while in beta, including a waitlist, and a rule that being put on a camp roster counts as a genuine invitation.
- SecurityAdded staff roles separate from subscription plans, so support access is deliberately granted rather than inferred, with the most sensitive actions gated behind explicit consent.
May 2026
Earlier foundation work
Grouped rather than listed day by day — it predates the recent stretch but is part of the history.
- FunctionRebuilt song, lyric and split-sheet exports into polished documents; fixed signed split sheets exporting without the signatures; added exporting a whole catalogue at once.
- FunctionAdded memorable profile web addresses instead of long random ones.
- FunctionAdded spreadsheet import for a collaborator roster so their details fill in on split sheets instead of being retyped.
- FunctionSet storage limits by plan, and built a sales page for labels with a savings calculator.
- FunctionLocked in that anyone who signs a split sheet keeps permanent read-only access to that song, so they can always prove authorship.
- SecurityRewrote the privacy policy to guarantee a label's private catalogue is never sold, pooled or used for training.
- FunctionAdded a pencil-friendly sketch pad and a demos tab on mobile. The sketch pad was later removed once testing showed the phone's own handwriting recognition worked better.
Decisions and deferred work
Deliberately not done yet, on purpose
- DecisionHolding off creating the real payment products for the new plans until the naming and the label sales page are settled.
- DecisionThe referral programme is planned but paused until the first major label contract signs, and will never apply to label deals.
- DecisionSplits are being restructured as two separate totals — one for writers, one for publishers — so the two kinds of share cannot look like they add up wrong.
- DecisionDeeper Zoom integration and a one-off quick session shortcut are planned, not built.
- DecisionStoring two Apple Music links on one song, for alternate versions, was raised on 5 August and is logged for a future pass.
- DecisionThe plan is to keep basic theme mixing free and charge for building your own from an uploaded photo, once plan gating goes live. That gating is still deliberately on hold.
- DecisionBeta test results are visible to the whole beta group on purpose, so nobody repeats work someone has already done. Bug reports stay private — only a short summary written at triage is shared.
Have a feature request?
Tell us.