Roadmap and updates
What is coming to TikTalk next, and everything that has changed, newest first.
Coming next
In progress
The AI with premium voices plan goes on sale
The third plan, £39.99 a month: everything in Standard with AI, plus premium voices for chat and announcements. It shows as coming soon on Pricing until then.
In progress
Premium voices for every AI plan
Premium voices work today, but only for the TikTalk team while we test them. They open to everyone with an AI plan once our ElevenLabs plan is upgraded.
Planned
Top up premium voice characters
Buy more characters when your month's allowance runs low. The Premium voices page already shows where it will be.
Something you would like to see? Share it on Feedback, or email hello@ttlk.live.
Updates
Every gift counted once
TikTok sometimes sends the end of a gift streak twice. TikTalk now counts and reads each gift once, so your diamonds, earnings and top gifters are right. Totals from earlier LIVEs may still include some doubles.
One look from the website to the app
The website, the signed-in app and the feedback forum now share one footer and one grid. Signed in, the website offers Open TikTalk instead of Sign in, and the forum keeps the app's own menu. Analytics, Rankings, Plan and billing, the Activity log and Bio link are set out in plain sections instead of boxes inside boxes.
A new website you can hear
Switch each kind of LIVE activity on and hear how TikTalk reads it, before you sign up. New feature pages, plans side by side, and a Features page with a contents list that follows you down.
Activity log by LIVE
The Activity log groups everything by LIVE, with a summary of each. Likes fold into one line a minute, songs played twice show once, and you can filter by kind of activity.
Viewers, redone
A Top viewers table you can sort by any figure, the week's leaders across the top, and the latest followers, newest viewers and fan club members beside it.
Chat text size and gift pictures on your stream
A− and A+ on the LIVE page make the chat bigger or smaller, from 70% to 400%, pictures and badges included. Song request overlays show each gift's picture. Free song requests are now for Super Fans, subscribers and moderators.
Smoother movement everywhere
Menus, switches, the playlist and your stream overlays move on one calm, consistent scale, and if your device asks for reduced motion, nothing moves at all.
The colour code
Every kind of LIVE activity has its own colour, always shown with its word and icon: chat blue, support gold, community green, songs pink, moments orange, moderation red.
Rewards for song requests
A hype train earns a free song request that day, the like goal shows on your LIVE page, and a song can wait to play until a like goal is reached.
Three plans, and a big round of improvements
Standard, Standard with AI and AI with premium voices, each with a 7-day free trial. Also new: a set-up checklist, regrouped settings, one OBS and LIVE Studio page for every overlay, a phone remote, Stream Deck links, push-to-talk commands and a pronunciation dictionary.
Replies in your viewers' own languages
TikTalk remembers which language each viewer writes in and replies to them in it. Email addresses are read naturally, and web addresses are never read out.
Your AI can run all of TikTalk
Ask it to change a setting, press a LIVE page control or look back through 30 days of your LIVEs. Its answers show in your chat marked ONLY YOU, and are never sent.
AI plans, in beta
Premium voices in other languages
Welcome a viewer in their own language, have a short chat with them, and browse hundreds of ElevenLabs voices.
TikTalk team only while we test
Moderator commands and web search for the AI
Moderators can ask your AI with /kit in chat, and it can look things up on the web.
AI plans, in beta
Feature pages and pricing on the website
A page for each feature, each with an example of TikTalk at work.
The AI runs songs and moderation
By push to talk: play, queue, skip, mute and block, and it always asks before a mute or block. Your own playlist carries on after a request ends.
AI plans, in beta
The AI assistant
Talk to your LIVE and hear the answer in your headphones: who is here, who is giving and what is playing.
AI plans, in beta
Songs from the keyboard
Shift and the arrow keys play the next request, pause, and move back and forward through your songs.
Bio link page, feedback forum and holding speech
A free page at ttlk.live/@you for your TikTok bio. A feedback forum with likes and comments. With single-key shortcuts on, hold Space to pause speech and catch up when you let go. Song requests now use your own Spotify app.
The Viewers page
Everyone who came to your LIVEs in the last 30 days, and everything each of them did.
Follow to be heard, and pause requests
Viewers who don't follow you aren't read aloud until they do; their first comment gets a friendly message instead. Pause song requests at any time.
Hype train winners
The hype train overlay holds its winners on screen for 30 seconds.
Now playing on your stream
A now-playing overlay for OBS, Play in Spotify, and a redone LIVE page rail with your top viewers and earnings.
A new design for the whole site
Larger text, flat cards and a LIVE page that fills the window.
Song requests
Viewers request songs in chat with /play. They play on your Spotify and show on your stream.
Rankings, and a day of LIVE history
See your places on TikTok's LIVE leaderboards in 85 countries, and scroll back through the last 24 hours of your LIVE page.
TikTalk moves to ttlk.live
A new home, and Demo mode: a LIVE full of simulated chat and gifts to try TikTalk on.
Changelog
Every version in full, as the team records it. Open one to read it. The latest numbered version is 3.0.0.0.
Since 3.0.0.0
Added
- Sound alerts can have several sounds, taking turns or picked at random (never the same one twice running), and the alert row and OBS card name the one that played.
- "Words in chat" alerts take several phrases, with commas between them: yeah boi, yeah boy.
- A sound for one viewer: search for them (your own viewers first, then anyone on TikTok) and their sound plays the first time they show up each LIVE.
- New alerts for a fan club member or a Super Fan joining, once for each viewer each LIVE. A Super Fan who is also in the fan club hears only the Super Fan sound.
Fixed
- Sound search works again. It went through a free service on Vercel that its owner has paused; TikTalk now reads Myinstants' own search page.
- Gift sound alerts are set up whole without being LIVE. Gift search gives each gift its TikTok id, every one where a gift has regional copies (Club Power has two), and alerts saved by name before this get theirs when TikTalk opens. "Matches by name until you connect" is gone; a gift the catalogue does not know says "matches by name".
Version 3.0.0.0
TikTalk goes on sale. Three monthly plans, each with a seven-day free trial, and a founding price for the first fifty subscribers. There is no free tier: a beta account keeps the app, and keeps the AI until 30 November 2026. With it come games in your chat, viewer points, visual alerts, hands-free control, the rankings pages, your bio link page, the like goal, premium voices and thirty days of history. Live captions are gone; visual alerts do that work now.
Added
- Plans and prices. TikTalk can be bought: Standard at £19.99 a month, Standard with AI at £34.99, and AI with premium voices at £39.99 once premium voices open. Every plan has all of TikTalk except the AI and the premium voices, and every plan starts with a seven-day free trial -- cancel inside it and you pay nothing. The first fifty subscribers get £10 off Standard for three months, applied at checkout without a code. The card details are typed into Stripe's own payment form inside TikTalk, which is also where the trial and the founding price are set; the trial and the founding price are for your first TikTalk subscription. Plan and billing shows your plan, when the trial ends, your invoices, how to change plan and how to cancel, and cancelling leaves your plan running to the end of the period you have paid for.
- Games in your chat, under Settings: 21 for your viewers, a countdown timer (on its own, as a subathon or on the last gifter) and a quick poll. Choose the rules and the points a win earns. Each one has its own OBS browser source, and the game, the timer and the poll are announced as they run.
- Viewer points. A viewer earns a point for every like, diamond, comment, share and song request, and for each game they win, and types /points in your chat to hear their own. Choose whether points start again daily, weekly or monthly, and see the history on the Viewer points page.
- Hands-free control. Spoken commands by push to talk, for everyone and ahead of the AI, never always listening: hold the talk button and say skip, hold, carry on, read that again, what just happened or next song. Every action on the LIVE page has a key, you choose which letter does what, and ? lists them all. A private control link for each action drives TikTalk from a Stream Deck, Bitfocus Companion, Touch Portal or a MIDI bridge, and your phone works as a remote.
- Visual alerts, for deaf and hard-of-hearing creators and viewers. Every sound alert is shown as well as heard: a row on your LIVE page and a card on your stream saying who sent what and which sound played. Its OBS browser source, a preview and a test are on OBS output, and one switch takes the movement out of every overlay.
- Pronunciation and large print. Teach the voice a name, word or emoji, hear it back, and TikTalk says it your way everywhere it reads aloud. The chat, the activity and the song list come in four text sizes.
- Song requests on your stream. An OBS browser source shows what is playing and how to request it, and says who asked for a song and where it sits in the queue as each request lands. Demo mode plays songs too, so the whole thing can be tried before going LIVE.
- Top likers and Hours LIVE on Analytics: who liked most across the week, and how long each of the week's broadcasts ran.
- The pricing page lists what TikTalk actually does. It named seven things while about fifteen had shipped: the visual alerts, the games, viewer points, the hands-free controls, the thirty-day history and five more OBS browser sources were all being given away unmentioned.
- Song request replies in a viewer's own language: German, French, Spanish, Italian, Dutch, Polish, Portuguese, Russian, Ukrainian, Czech or Swedish, once their chat in the LIVE shows that is the language they write in. Everyone else, and anyone TikTalk is unsure about, still gets English. Song names and the /play, /remove and /skip commands stay as they are.
- Bio link page: every creator gets a free page at ttlk.live/@their-tiktok-name with their socials, links, a LIVE now button, their next scheduled LIVE and how much they stream. Set it up under Settings → Account → Bio link. It stays off until you turn it on.
- The bio link page's "Made with TikTalk" link shows the TikTalk logo, and link buttons keep dark text in light mode as well as dark, hovered or not.
- Bio link buttons show the linked site's icon and an arrow, and the bio can be filled in from your TikTok profile ("Use my TikTok bio"); a new page starts with it.
- Chat badges beside a viewer's name: how old their TikTok account is ("3h", "2y 5d", read as "account 2 years 5 days old"), VERIFIED, and SPENT and TICKETS when TikTok sends them.
- Super fans: "became a super fan" is its own event, shown, read out and available as a "New super fan" sound alert, rather than a fan club join. A super fan box is announced as one.
- A chat message TikTok deletes during a LIVE leaves the chat and the saved history, and is not read out if it is still waiting its turn.
- The Fan club column is headed with your fan club's name, as your members' LIVE events give it.
- A viewer whose TikTok nickname is only invisible characters is now shown and read out by their @handle, in the chat and in the Fan club, Top gifters and LIVE rankings lists, instead of a blank name.
- Analytics no longer shows the "Your account" and "Last seven days" headings over the totals (a screen reader still hears them), and the Diamonds total is labelled in words.
- View details on a past LIVE no longer says "Validation Error". It shows the broadcast's totals and top gifters; the empty Viewer interactions table is gone, since TikTok only gives interactions one named viewer at a time.
- Analytics: the top 3 in Fan club, Top gifters and LIVE rankings now run 1st, 2nd, 3rd from the left with every picture the same size; @usernames are gone from those lists; diamonds show as 💎 (still read out as "diamonds"); and each fan club member has a level badge and "last seen 3 days ago" instead of a date.
- Analytics keeps showing your figures while newer ones load, instead of swapping them for "Loading…" a few seconds after the page opens, and Refresh analytics does the same. The full-page loading splash is gone: the page shows at once and each section says when it is still loading.
- Muting a viewer now lasts for the rest of the LIVE, not five minutes.
- The like goal's OBS url has moved to OBS output, beside the sound and hype train urls, with a preview of what it draws. The Like goal page links there. The like goal text is now centred across its browser source.
- Chat alerts only for fan club members and subscribers, a new switch on Sound alerts, on by default. A word in chat only plays its sound when the viewer is an active fan club member or a subscriber. Gift and event alerts are not affected.
- A dropped connection that comes back within 15 seconds is no longer read out. Only a longer drop says "Connection lost", and then "Re-connected" once it is back. The API now logs which end dropped each connection, so the cause of the drops can be found.
- Your own TikTok LIVE ranking history, on Analytics under Your rankings, with a spoken-style summary sentence read out before the table -- how many of the last however-many days you were on the board, and your best and latest spot. A new Rankings page alongside it lets you browse any country's leaderboard on any day, and look up any creator by name to see their own history the same way. It is tables and sentences throughout, not charts.
- The LIVE page can now bring back the whole last 30 days of chat and interactions, not just what has arrived since you opened it. A "Load earlier activity" button fetches the next 200 items at a time and announces them as they load. Viewers' pictures are now saved with your account for 30 days too, so they show up on any computer you sign in on, not only the one they first appeared on.
- Chat and interactions are kept for 30 days, up from 24 hours, so last week's LIVE is still there to scroll back through.
- The chat now marks what happened to the connection, as a short grey line between messages: connected, connection lost, reconnected, disconnected, and when the LIVE ends. These lines are kept with the rest of the chat, so a gap in the conversation can be explained afterwards. They are not read out a second time -- the reader already says each one as it happens.
- A Like goal for your LIVE, under Settings. Set a ladder of goals -- 40K, then 50K, then 100K -- and, if you like, "then keep adding 25K" once the ladder runs out. A new OBS browser source shows your LIVE's likes against the next goal, as "35,647 / 40K" in large outlined text over your camera. A Like goal reached sound alert, set up in Sound alerts like any other, plays when a goal is reached, and the screen moves on to the next one. Goals you change mid-LIVE take effect at once, and switching the goal off blanks the screen. It follows TikTok's own like total, so it starts from wherever the LIVE already is when TikTalk connects.
- Top gifters on Analytics: everyone who sent you gifts in your LIVEs over the last seven days, added up across every broadcast, biggest first, with how many LIVEs they gifted in.
- Fan club on Analytics: the fan club members who came to your LIVEs in the last 30 days, active and inactive, highest level first with when each was last there, and who recently joined or levelled up. TikTok gives no member list, so this is built from your LIVEs -- a member who has not been to one in 30 days is not counted.
- Today in Your rankings: your place on today's daily ranking in your country, or -- below the top 99 -- how many diamonds number 99 has and roughly how many more you need. While you are LIVE it uses TikTok's own total for the day; otherwise it counts the gifts TikTalk saw.
- Premium voices (admin accounts while TikTalk's ElevenLabs plan is on its free tier). Your AI speaks in a lifelike ElevenLabs voice, and a Premium voices page lets you give chosen viewers -- one named viewer, moderators, subscribers, Super Fans, fan club members, followers or everyone -- a premium voice in chat and announcements, with a preview of each voice and a meter of the characters used this month. "Play on stream" sends those lines to OBS too, and OBS now follows Pause, Resume and Stop. Anything a premium voice can't say is read in your browser voice.
- Find more voices on the Premium voices page: search hundreds of voices made by ElevenLabs, in many languages, by name, language, accent, gender and age, play each one's sample, and add up to 30 to your voices for your AI or any rule.
- Your AI can welcome a viewer in their own language ("Kit, welcome @maria in Spanish"), tell you what someone said in English, and hold a short chat with a viewer in their language when you or a moderator start one ("Kit, chat with @maria"). Replies are posted in chat and tagged to the viewer. Viewers can never start one. "Tell me each exchange" on the AI page lets you hear each one privately.
- Rankings search finds any TikTok creator, not only those who have been on a leaderboard, with their follower count. A creator's rankings show their TikTok LIVE agency, and yours shows on Analytics.
Changed
- The founding offer is £10 off "your plan", not "any plan": one of the three plans cannot be bought yet, and an offer on a plan nobody can buy is not an offer. Standard with AI lists the AI's own premium voice only while premium voices are open, since that is the flag the voice itself is gated on -- the card can no longer promise a voice the account would not get.
- ElevenLabs is retiring its original voices on 31 December 2026. Each premium voice now has a named replacement (George becomes Eldrin, Lily becomes Helen, and so on) that takes over by itself, with nothing for you to change.
- The chat filter catches more disguised links: dots written out or put in brackets, look-alike web addresses, and other platforms' handles. Your AI's replies to viewers are checked more strictly still.
- Rankings cover 85 countries, with leagues in 15 including the UK and US.
- Feedback reads like a social feed: each post is a card with Like and comments, the most recently active first, and a post's page is one conversation with the team's updates in it. "Vote" is now "Like"; existing votes count as likes.
- The Analytics page is laid out around what matters most. Your seven-day totals come first, in one row. Below them, LIVE rankings, Top gifters and Fan club sit side by side, each opening with a podium for its top three -- first place in the middle and highest -- and the rest of the list underneath. Screen readers and the keyboard still meet the podium in order, first to third. On a narrower screen the three stack. Previous broadcasts, Your rankings, earnings and your account details follow.
- When the creator ends their LIVE, TikTalk now says "The LIVE has ended." It used to treat the end as a connection error and tell you to press Connect to try again, when nothing had gone wrong.
- LIVE rankings on Analytics show each creator's picture, name and @handle. Every entry used to read "Creator".
- Analytics figures that are still loading show a placeholder instead of "Not available", which now only means a figure TikTok really did not give.
- Gifts and earnings says "Today's earnings show here while you're LIVE" when you are not live. TikTok only reports the day's earnings during a LIVE, and this used to show as a failure.
Removed
- Live captions, from the app and the API. Visual alerts do that work, and say who sent what rather than transcribing it.
Fixed
- A gift streak whose final count TikTok sent twice is counted and read once. It was adding its diamonds twice (about 9% of the diamonds counted over the last 30 days) and saying "sent 10 Roses" twice; a streak that carries on after it was read now counts only what was added.
- A song request with a misspelt word now finds the song instead of playing a stranger's: "/play wobbely dubbely MrBorg85" gets MrBorg85's "Wobbely Dobbely", not Mr Traumatik's "Wobble". A request whose words match no song closely enough is answered "couldn't find that" rather than playing Spotify's nearest lookalike.
- Viewers' pictures no longer disappear from the chat when you refresh. They were being refused by the picture service TikTalk stores them on, and are now fetched through TikTalk itself.
- Top gifters listed nobody even when your broadcasts had gifters.
- Scheduled LIVEs said TikTok had not given TikTalk your account number, and Your rankings said "That creator couldn't be found." Both now find your account from your @handle.
- The gift gallery said TikTok returned nothing. It now shows what TikTok does send: whether your account qualifies, and how many gifts are lit.
Version 2.6.0.0
The chat and interaction columns are lists again to a screen reader, and both footers now say which build you are on.
Added
- The version, and the build it came from, at the foot of every page —
v2.6.0.0 (abc1234). It is there so a problem can be reported against a build rather than a guess. The build reference is left off rather than invented when it is not known.
Fixed
- The LIVE page's chat and interactions are announced as lists again. Both columns were marked as logs in a way that overrode their own list nature, so a screen reader stopped counting the rows: no "list, 40 items", and no "item 12 of 40" while moving through them. They are still logs, and still silent by design — the reader speaks new activity, so the page does not announce it a second time.
Version 2.5.1.0
Settings you change inside a demo now stay changed after it ends, however you got into the demo.
Fixed
- Tuning a voice, a filter or an alert during a demo no longer reverts when the demo ends. It only went wrong on one route in: opening
/demodirectly, or refreshing the page while a demo was running. On that route the app never armed the save, so nothing tuned reached your account, and leaving the demo pulled the older settings back down over it -- and then saved those, so the change was gone for good rather than just off the screen. Coming into the demo from the Settings menu was never affected.
Version 2.5.0.0
A Demo mode, for learning the app or trying it out before anyone connects a TikTok account.
Added
- Demo mode, reached from Demo mode at the foot of the Settings menu (and left again from the same slot). It fills the LIVE page with a scripted, looping scene of chat, gifts, follows and viewers, run through the same speech, sound alert and OBS routing as a real LIVE -- so you can hear how TikTalk will sound, and tune a voice or an alert against something actually happening, without waiting for a real audience.
- Works without a TikTok connection. Commenting and moderation answer locally in the demo, so a new account can try the whole page before connecting anything.
- Nothing simulated reaches your real 24-hour activity log or account analytics, and your real activity is put back exactly as it was when you leave. Settings changes you make during a demo still save as normal.
Version 2.4.1.0
The hype train now clears itself after it flashes, so a moment belongs to one viewer instead of bouncing between two.
Fixed
- The gold flash holds for its full three seconds. The row that flashes is now the row that earned it: anything arriving while the overlay is flashing waits for the flash to finish. A moment used to be cut short by the very next like, so the overlay would flash for an instant and then show a train somebody else had already taken a carriage off.
- One viewer taking the whole train no longer hands it to the next. The four carriages empty out after the flash and the next train fills from nothing, so two busy viewers cannot trade a single carriage back and forth and set the overlay flashing between them. Whoever just held the train is welcome to take the next one, from empty, like everybody else.
- A carriage that has emptied forgets the picture it was showing, so a cleared train is four empty circles rather than four faces waiting to be misread as the next train.
Version 2.4.0.0
The Activity page is now a chat: the newest message is at the bottom, everyone has their picture beside their name, and you can answer the room without picking up your phone.
Added
- A comment box at the bottom of the LIVE page. What you type goes into the room as a real TikTok comment from your connected account, and it works in any LIVE you are reading, not only your own. TikTalk reads your comment back to you when TikTok shows it, which is how you know it landed; if it has not appeared after ten seconds, the box says so rather than claiming it sent. The box tells you why it cannot send when it cannot: not connected, no room ID, no TikTok account, or a permission TikTok has not granted.
- Display pictures on every message. TikTok sends a viewer's picture the first time they appear and TikTalk remembers it, so a busy room costs one picture per person rather than one per message. Anyone whose picture will not load gets their initials instead, and the picture itself is skipped by screen readers, because the name beside it already says who is speaking.
Changed
- The Activity page is now called LIVE, and reads as a conversation: oldest at the top, newest at the bottom, scroll up to look back. Scroll away from the bottom and it stops moving under you; a button counts what you have missed and takes you back to the newest message.
- Each message keeps "Read again" on the row and puts fan club info, Add moderator, Mute and Block behind one Actions button. Two hundred messages used to be a thousand things to tab past; now it is four hundred.
- The Stats page has closed, and its figures have moved to the right of the chat, next to the conversation that moves them. Speak summary and the comments on and off control moved with them. A bookmark for /stats still works and opens the LIVE page.
Fixed
- The new comment route now refuses requests that come from another website rather than from TikTalk itself.
Version 2.3.0.0
See who is in the room while you are live, and who sent gifts in a past broadcast.
Added
- Top viewers, above the activity feed. TikTok ranks the room by the coins people have sent, and that ranking now appears on the Activity page with each viewer's name and coins. It refreshes quietly as the LIVE goes on, so it never talks over the feed; press "Speak top viewers" to hear it. The first five are read aloud and the rest are counted, because twenty names in one breath is not a summary. It needs no TikTok connection -- it works on any LIVE you read.
- Top gifters, on a past broadcast's details. Open a broadcast from Analytics and, underneath its totals, there is now a list of who sent gifts and how many diamonds each of them sent. The Viewer interactions table already said how long each person watched; this is the part it never showed. It comes from the broadcast details TikTok has already sent, so nothing extra is fetched. Broadcasts with no gifts show no list rather than an empty one.
Version 2.2.2.0
The gold flash and the hype train sound are now the same moment.
Fixed
- The overlay flashed gold with no sound, and the sound played while nothing flashed. They were two different rules: the overlay flashed when one viewer held all four carriages, while the sound waited for every carriage to be refilled by anybody since the last time it played. Because shares are rare, a viewer usually took the train while still sitting in the share carriage from earlier, which satisfied the flash and not the sound; four different viewers refilling the four carriages satisfied the sound and not the flash.
- Both are now the same moment -- one viewer holding all four carriages -- decided once by the API and sent to the overlay and the sound alert together, so a flash always has a sound and a sound always has a flash.
Changed
- The sound alert is called "Hype train taken" rather than "Hype train full", and it says who took it: "Emma has the whole hype train". Alerts already set up for it keep working.
- A viewer who keeps the train does not set it off again: somebody else has to take a carriage off them first.
Version 2.2.1.0
The community forum's second part, still behind the switch: administrators can triage, answer, moderate and update the forum, and members can report posts and comments.
Added
- Administration is now six pages with their own addresses: Overview, Inbox, Reports, Forum members, Accounts and Audit log. The accounts and connections tables are unchanged, at /admin/accounts.
- The Overview opens with one sentence of counts, each linking to its queue, then the most wanted posts not yet planned and in-progress posts that have gone quiet for 30 days.
- The Inbox lists new posts, private feedback waiting for a team reply, or everything, and marks selected posts triaged, Under review, Planned or Declined in one go.
- On each post, administrators get a Manage section: change the status with a public note, pin, lock, hide with a reason, edit the type and title, merge into another post by searching for it, and ask the author to make private feedback public. Administrators can hide and unhide comments too.
- Members can report a post or comment. Three reports from different members hide it until the team has looked; posts and comments by the team are never hidden this way.
- The Reports page groups reports by what was reported and offers Dismiss, Hide, or Hide and suspend the author.
- Forum members can be searched, suspended for 1, 7 or 30 days or permanently with a reason, have a suspension lifted, or have their display name reset so they choose a new one.
- The Audit log records every administrator action as one sentence, and can be filtered by administrator and by action.
- When the team asks to make a private post public, its author sees a banner with Agree and No thanks. The post stays private until they agree.
Accessibility
- Every administration page and the Manage section have one main heading, no automatically detectable accessibility problems, and fit a phone without sideways scrolling. The Inbox and member tables become cards on a phone.
- The administration sub-navigation is a list of ordinary links, with the current page marked, and moving between pages puts you on the page's heading.
- After every administrator action, TikTalk says what happened, such as "3 posts marked Under review".
For the team
- Migration 007 adds the columns for requests to make a post public and for display name resets. Deploy the API first.
- Every administrator action is checked on the server and writes its audit log entry in the same transaction as the change.
- Choosing "Notify followers" records the wish only. Emails, including alerts to administrators, arrive with the forum's third part.
Version 2.2.0.0
The community forum's first part, ready behind a switch: members can post, vote, follow, comment and reply at /feedback, and see a roadmap. Only administrators can reach it until it launches.
Added
- A feedback forum at /feedback. Anyone can read it. Members post suggestions, bug reports, accessibility barriers and general feedback, vote for posts, follow them, and comment, with replies one level deep. Each post has a roadmap status and an Updates list from the team.
- Private feedback, which only the member and the TikTalk team can see.
- A roadmap page listing what is planned, in progress and recently shipped.
- A display name for the forum, offered from your TikTok username if you have connected TikTok, and changeable on your forum profile page.
- Before a public post is sent, TikTalk lists up to five similar posts, so you can vote for an existing one instead.
- Optional single-key shortcuts on a post: V to vote, C for the comment box, N and P for the next and previous comment. They are off until you turn them on.
Accessibility
- Every forum page works without JavaScript, has one main heading, and is checked automatically for accessibility problems.
- After you vote, comment or post, TikTalk says what happened and moves you to the right place, such as your new comment.
- Form problems are listed at the top with links to each field, and that list is where you land.
- Summaries read as one sentence: "Suggestion, Planned, 42 votes, 7 comments, updated 2 days ago".
For the team
- The forum is off until
FORUM_ENABLED=trueis set on both the API and the web service. Until then administrators can use it, which is how the roadmap is seeded before launch. - New accounts are limited to 2 posts and 10 comments a day, and 2 links per post, for their first day and week respectively.
Version 2.1.2.0
The "Hype train full" sound plays every time the train fills again.
Fixed
- The "Hype train full" sound played at most once a stream. It waited for a different person in every carriage, and because shares are rare, one viewer's share could hold its carriage for the whole stream. It now plays again once every carriage has had a new like, share, gift and comment since the last time, from anyone. One viewer liking over and over still cannot set it off on their own.
Version 2.1.1.0
Sound alerts, Analytics and Admin fit on a phone.
Fixed
- On a phone, the Sound alerts, Analytics and Admin pages were as wide as their tables, up to three times the width of the screen, so the whole page zoomed out or scrolled sideways. They now fit the screen at every width.
Changed
- On a phone, each table row is a card: its name on top, then one labelled line per column, with its buttons underneath. Screen readers still move through it as a table and announce the column names. Nothing changes on a larger screen.
Version 2.1.0.0
Add a sound to a gift without going live.
Added
- Gift search on the Sound alerts page. Choose "A gift", type at least three letters of the gift's name and press Search gifts or Enter, then choose the gift from the list. Each gift is listed with its price, for example "Heart, 10 diamonds", because some gifts share a name. It works whether or not you are live. When you next connect, an alert added this way is matched to the exact gift in your room, even when several gifts share its name.
Changed
- Gift search replaces both the gift list that appeared only while you were live and the box for typing a gift's name when you were not.
- Editing a gift alert says which gift it plays for, and saving without searching keeps that gift.
Version 2.0.2.0
TikTalk reconnects to your LIVE by itself when the connection drops.
Fixed
- When the connection to your LIVE drops, TikTalk now reconnects on its own. It tries again after 2, 5, 10 and 20 seconds, then every 30 seconds for up to ten minutes. It says "Connection lost. Re-connecting." once, and "Re-connected" when it is back. Before, a drop left the button on Connect and nothing told you why.
- Reconnecting after TikTalk restarts works. The retry used to be refused with "This account already has an active LIVE connection", for up to a couple of minutes after every update to TikTalk.
Changed
- While TikTalk is re-connecting, the button stays usable: press it to stop trying.
- When TikTalk stops reading and will not reconnect, it says why: the creator ended the LIVE, the creator is not live, or TikTalk started reading your LIVE somewhere else.
- Connecting in a second window or on another device takes over from the first, which stops and says so, instead of the second being refused.
Version 2.0.1.0
The hype train sound plays the moment the train fills up.
Changed
- The "Hype train full" sound alert no longer waits its turn behind other alerts. It plays straight away, over any alert that is already playing, and the waiting alerts carry on afterwards in the same order. This works the same in your browser and in your OBS source. If a second hype train sound starts before the first has finished, the new one replaces it.
Version 2.0.0.0
TikTalk accounts are email and password now. Everyone signs up again: accounts made by signing in with TikTok are not carried over.
Added
- Sign up with your email and a password. We email you a link to confirm the address; opening it signs you in. Forgotten your password? Ask for a reset link on the sign-in page.
- Account details, under Account in the Settings menu, where you can change your password or your email address.
- LIVE connection, under Account, where you choose which TikTok LIVE TikTalk reads. Save up to 10 accounts and switch between them. The Connect button names the account it will read.
- TikTok connection, under Account. Connecting TikTok is optional: it adds analytics, moderation from the activity feed, and your sensitive words.
Changed
- Analytics and Sensitive words say "You need to connect TikTok to see this page" until TikTok is connected, and say so plainly when the connection has expired or TikTok did not allow a permission.
- Mute, block and add moderator appear in the activity feed once TikTok is connected, and work on your own LIVE.
Removed
- Signing in with TikTok.
Version 1.7.0.0
Myinstants is back. Search for a sound, pick it and add your alert, without uploading anything.
Added
- Myinstants search is back on the Sound alerts page. Type a word, press Search or Enter, choose one of the sounds found, preview it, and add the alert. Uploading your own sounds still works too, under the search.
Fixed
- Alerts that already used a Myinstants sound play again, can be tested, and keep their sound when you edit them. Yesterday's release had marked them "no longer available".
- Test OBS uses your first alert again, whichever kind of sound it has.
Changed
- Search goes through myinstants-api, an unofficial service that reads Myinstants' search page, because Myinstants blocks TikTalk's server from asking directly. The Sound alerts page credits both. If that service stops working, search will say it is unavailable, and sounds you have already chosen keep playing.
Version 1.6.0.0
This release changes some of the app's urls and replaces Myinstants with sounds you upload yourself. If you had sound alerts set up, they need a new sound each.
Added
- Upload your own alert sounds. Sound alerts now lists the sounds you have uploaded, each with Preview and Delete, and an Upload a sound button that selects the new sound for the alert you are editing. Sounds can be mp3, wav or ogg, up to 1 MB each, and up to 30 per account. A sound an alert still uses cannot be deleted, and the message names that alert, so no alert goes quiet without you knowing.
- A "Hype train full" sound alert. Choose it under Event in Sound alerts and it plays when all four hype train carriages have a face, with the same volume, output and test as every other alert. It plays again only once all four carriages have changed hands, so one viewer liking over and over cannot set it off repeatedly. It is not read aloud unless you turn that on.
- The hype train flashes gold when one viewer holds all four carriages at once. Every picture pulses gold for three seconds, once, at the moment that viewer takes the last carriage.
Changed
- Voice Config is two pages now, not one: What gets read (
/reading) and Voice Configuration (/voice). Which activity gets read aloud and how the voice sounds each have their own page, heading and controls. - OBS output has moved off the Sound alerts page onto a page of its own,
/obs-output, reached from the Settings menu under Sounds. Sound alerts still lists your alerts and says where the OBS url lives; the url itself, the copy and test buttons, and the option to rotate it now live on the new page. - The Settings menu is grouped now, under Speech, Sounds and Account, instead of one flat list of everywhere you could go. Each group is its own named navigation landmark, so a screen reader can jump between the three instead of tabbing past every destination to find the one you want.
- TikTok sensitive words is called Sensitive words in the menu and on its page. The explanation on the page still says it is TikTok's list.
- Using your browser's Back and Forward buttons now moves your focus to the heading of the page you land on and announces it, the same as choosing that page from the menu would. Before this, going back or forward changed the page but left your focus and any announcement behind, so a screen reader stayed silent about where you had actually ended up.
- Analytics loads in one go. The page used to fetch your broadcasts and then each one's details a few at a time before it could show anything; it now shows the whole seven days as soon as the page arrives, says how old the figures are, and refreshes them in the background.
- The hype train is just the four pictures now, edge to edge, each with its badge. The name under each picture is gone, so there is less text over your scene. Empty carriages are no longer dimmed, and a picture never goes blank: a new viewer's picture replaces the old one only once it has loaded, and if it never loads, the last one stays.
- Toggles sit right beside their labels instead of at the far edge of the panel, and short lists of choices in Sound alerts run across the page instead of down it in two columns.
- Both the website and the app now end with the James Music logo in the footer, and a short page keeps its footer at the bottom of the window.
Removed
- Myinstants search. Myinstants now blocks visitors from the UK, so searches failed and saved sounds would not play. Alerts that used a Myinstants sound keep their trigger and volume but say their sound is no longer available, cannot be tested, and play nothing until you choose an uploaded sound.
- The Spoken wording page. TikTalk reads every event with its standard wording.
- Filters. Muted usernames and blocked words are gone along with the page, so nobody is left filtering their LIVE with no way to turn it off. Duplicate skipping, emoji collapsing and username tidying are unchanged, on What gets read.
Fixed
- The old
/configurl still works. It opens What gets read and corrects the address bar to/reading, so a bookmark or a link you saved still gets you there rather than landing on a name that no longer describes any one page. - Profile pictures on the hype train and in the app menu load for viewers TikTalk has not seen before. They used to show an empty circle.
- The analytics permission line says which permissions TikTok actually granted. It used to say none had been granted, on the same page as the figures those permissions had fetched.
- Pressing Speak summary twice on Stats or Analytics announces the summary both times to a screen reader, not just the first.
- The Add moderator button's name no longer has a stray colon read out in the middle of it.
- Signing in with TikTok works again after EulerStream changed their sign-in service, and when their QR code fails to load you get a fresh sign-in link instead of a refusal.
- Settings pages no longer redraw on every chat message while you are live.
Version 1.5.1.0
Nothing changes for anyone using TikTalk. This release is the checks that run before a change reaches you.
Added
- Continuous integration. Every pull request and every push to main now runs the unit tests, a production build, and the full end-to-end accessibility suite on a clean machine. Until now nothing ran automatically, so the only evidence a release worked was whatever was run by hand before shipping it.
Changed
- The end-to-end suite now runs against a built copy of the site instead of the development server. Under the development server every page it opened was compiled on demand, which on a busy machine stretched a twenty-second run into tens of minutes and killed the browser part-way through, so tests failed for reasons that had nothing to do with the code. The whole suite now finishes in about twenty seconds and tests the same build that gets deployed.
Version 1.5.0.0
Added
- TikTalk works on a phone. Both the marketing site and the reader itself now put their navigation behind a Menu button below 900px wide, instead of stacking it into rows that ate most of the screen. The app's header used to be around 145 pixels tall on a phone before you had seen a single comment; it is one row now, and the whole of the top of the screen is the page you asked for.
- The Menu button opens a panel listing everywhere you can go: Stats and Activity, then Voice Config, Sound alerts, Filters, TikTok sensitive words, Analytics, Billing, Feedback and Logout, with Admin for the accounts that have it. Choosing one takes you there and closes the menu, Escape closes it and puts you back on the button, and tapping the page behind it closes it too. It is an ordinary disclosure button, so a screen reader announces whether it is open or shut without being told.
- Your connection to a LIVE stays on screen on a phone. The Connect and Disconnect button sits beside the Menu button rather than inside it, because it is also what announces "Connecting", "Re-connecting" and "Disconnect" as the stream comes and goes, and it cannot announce anything from behind a closed menu. On a narrow phone the button keeps its words and the Menu button drops to its icon, rather than the other way round.
Changed
- The marketing header is one row at every width. Between 901 and 1100 pixels it used to push Features, Pricing and FAQs onto a second row even though they fitted beside the logo; that rule is gone, along with several older ones that fought over how the nav should wrap on a small screen.
- The tab title now follows the page when you use the back and forward buttons. It only changed when you picked something from a menu before, so going back left the tab naming a page you had already left, which a screen reader would read out as though nothing had moved.
Removed
- The end-to-end test for the old TikTok approval page. That page now redirects elsewhere, so all 42 of its tests were driving a screen that no longer renders and timing out. The sign-in flow they were written for is still queued for removal in full.
Version 1.4.0.0
Added
- A hype train for your stream. Add a second Browser Source in OBS and it draws a row of four profile pictures: the last person to like, the last to share, the last to send a gift, and the last to comment. Each face carries a small badge saying which of the four it is, with the person's name underneath, and a slot nobody has filled yet shows a dimmed circle, so the row keeps the same shape and the same width from the moment OBS loads it. The url sits on the Sound alerts page next to the one you already use for alert sounds, and the page tells you to size the source 560 by 140.
- The train survives a scene switch and an OBS restart. OBS reloads a browser source every time you switch away and back, and rather than returning empty and waiting for the next viewer to do something, it is sent the four faces it should be showing the moment it reconnects.
- A new stream starts with an empty train. If you leave OBS running between streams, the faces from last time are cleared when you go live again, instead of sitting on your scene labelled as the people watching now. A short drop-out mid-stream keeps them, because that is the same session reconnecting rather than a new one starting.
- Generating a new url while you are live no longer strands the overlay. The running stream is handed the new key straight away, so pasting the new url into OBS is all you have to do.
Changed
- Generating a new OBS url says plainly that it replaces both urls. One key sits behind the sound source and the overlay, so making a new one stops both of them, and the old wording named only the sound source. The message you get afterwards names both as well.
- The note under the sound url says what that url now lets somebody do. The same key opens your hype train overlay, so anyone you have given it to can see your viewers' names and profile pictures, not only hear your alerts.
Version 1.3.0.0
Added
- Edit a sound alert without deleting it and starting again. Every row on the Sound alerts page has an Edit button that opens an editor in the row itself, where you can change what triggers the alert and which sound plays, then Save or Cancel. Your keyboard focus moves into the editor when it opens and comes back to the Edit button when you leave it, Escape cancels, and the row's volume and on/off switch are left exactly as they were.
Changed
- Sound alerts are a real table now, one row per alert, with the columns named once at the top: Trigger, Sound, Volume, Playing and Actions. The old stacked blocks repeated every field label on every alert, so comparing two of them meant reading both in full. Each control still says which alert it belongs to, so a volume slider is never just "volume".
- The add form and the editor are the same fields, so searching for a sound, picking a gift and the messages you get when an alert is refused all behave identically wherever you are. Only one of the two is on screen at a time.
Fixed
- Your profile picture stops disappearing. TikTok's image addresses are signed and expire within hours, so the picture captured when you signed in died on its own and left the @ placeholder behind. Pictures are now served from an address that does not expire, and one saved before this release is repaired the next time your account is read rather than staying broken until you sign in again.
- The OBS url is on the Sound alerts page whenever the page is open. It used to appear only after you had already chosen "OBS browser source" or "Both", which is backwards: the url is what you paste into OBS to create the source in the first place. The order is now copy the url, get the source running in OBS, then switch the output over.
- Tables that scroll sideways on a narrow screen can be scrolled from the keyboard. Every one of them is now a tab stop that announces what it is, so the columns off the right-hand edge are reachable without a mouse.
- An @mention is cleaned up in the on-screen announcement as well as in the spoken text. The two had drifted, so the same comment was read one way and shown another.
- An account that never chose a name is read as "user" instead of "user" followed by a long string of digits nobody can hold in their head. A chosen name that merely contains digits, like sarah2024, is left alone.
Removed
- The master volume on the Sound alerts page. Each alert's own volume is the only one now.
- The Myinstants attribution line.
Version 1.2.0.0
Added
- Send your sound alerts to OBS. Sound alerts can now play through a Browser Source in OBS instead of your own browser, so they go out on your stream without capturing your TikTalk tab or your whole desktop. The Sound alerts page has a new "Where sound alerts play" choice — This browser, OBS browser source, or Both — and, when OBS is chosen, your own private url to paste into OBS, a Copy url button, a "Send a test sound to OBS" button that tells you how many sources took it, and a live "OBS source connected" readout. Speech is unaffected and still plays in your browser.
- A "Generate a new url" button, in case the old one has been seen by someone it should not have been. The url already in OBS stops working immediately.
Fixed
- Sound alerts routed to OBS are never lost. If OBS is not running, or the browser source is closed, the alert plays in your browser instead and you are told once per connection that this is what happened, rather than being left with silence.
- If OBS refuses to play audio until it is clicked, the browser source says so on screen, your Sound alerts page tells you to click it, and the alerts play in your browser meanwhile — with the reader telling you once per connection that the source's audio is blocked, instead of the alerts silently going nowhere.
- Pause stops sound alerts sent to OBS as well as the ones playing in your browser, so pausing is quiet everywhere.
Version 1.1.0.0
Added
- Sound alerts. Give a gift, an event, or a chat keyword its own sound effect, the way TikFinity does. Search Myinstants from inside TikTalk, preview a sound, and attach it to a specific gift from your room's gift list (or by name before you connect), to a follow, share, subscription, fan-club join, PK battle, treasure box, viewer question, pinned comment, goal, rank change, like, or join, or to any word or phrase that appears in chat. Sounds play alongside the spoken announcement rather than delaying it, and a gift streak plays one sound, not one per gift.
- A "Sound alerts" page of its own in the Settings menu, alongside new pages for Filters and your TikTok sensitive words, so each job has one uncluttered place. The page has a master switch and master volume, a list of your alerts with their own volume, enable switch, Test and Remove buttons, and a short form to add one: choose what plays the sound, search, pick the sound from one list with your arrow keys, and press Add. Every step is announced, including search results, the chosen sound, and where focus lands after adding or removing an alert. The gift picker fills in from the LIVE's gift list when you are connected, tells you when that list arrives or goes away, and hands your keyboard focus to the right field when the form swaps under it.
- Sound alerts are saved with your other settings, so they follow your account across devices and survive a reload.
Changed
- The "Clear speech queue" button is now "Clear speech and sound queue" and stops any waiting or previewing sound as well as speech. Pausing speech also pauses sound alerts, and turning the master switch off silences anything still queued.
- The website now tells the whole story: the Features page lists sound alerts, all fifteen readable event types, sensitive-words management and the LIVE comments switch; Pricing and the FAQs cover sound alerts (where sounds come from, why one might not play until you press Connect or Test); and How It Works describes signing in as it works today — an ordinary authorisation page you complete with your screen reader, no QR code and no second device.
- Moving between pages updates the browser tab's title, so the window list and your screen reader name the page you are on.
- Choices that pick one option — what triggers an alert, which sound to use — now look like round radio buttons instead of checkboxes, matching how they behave.
- The footer's legal line reads "James Music LTD T/A TikTalk".
- Gift events now carry the gift's TikTok id and display name, and the reader receives the room's gift list after connecting. These are what the gift picker and gift matching use; spoken gift names are unchanged.
Fixed
- Sound alerts cannot talk over your chat. A sound that fails to play is announced once per connection, with a different message when the browser is blocking audio until you interact with the page, instead of repeating on every event. A row marked as failed clears itself once the sound plays again.
- Sounds keep working on phones. Alerts play through one audio element that is unlocked by your Connect or Test press, which is what mobile Safari requires, and a sound that stalls is abandoned after 20 seconds so the next one can play.
- Sound alerts stop when they should: on disconnect, when the LIVE ends, when the page closes, and when you clear the queue. An identical sound already waiting is not queued twice, so a burst of likes or joins cannot build an endless backlog.
- The Myinstants search never hangs or overwhelms the server: the eight-second limit now covers the whole response, oversized or redirected responses are refused, only Myinstants-hosted sounds are accepted, popular searches are cached for five minutes, and each account is limited to thirty searches a minute.
- Settings are harder to lose: a second open tab picks up alerts added in the first, and signing in no longer replaces alerts you made before the account loaded.
- Keyword alerts work on older Safari versions, and a gift alert still matches by name when TikTok leaves the gift id off an event.
- Reloading the TikTok sensitive words page, or using Back and Forward around it, lands on that page instead of a missing page or the Activity feed.
- A search that fails or finds nothing no longer keeps the previous sound invisibly selected, so "Add alert" can never bind a sound you cannot see; what is selected (or that nothing is) now always stays on screen. Pressing Enter on one of the choices no longer adds the alert mid-choice, an empty search says to type a word first, and the form's refusals name the actual missing field.
- In rooms offering more than 300 gifts, the cheapest gifts keep their spoken names.
- Sounds are only ever fetched from Myinstants, matching what the search can return, and buttons that are waiting for a choice no longer light up on hover as if they would act.
Version 1.0.2.1
Fixed
- Approving in the TikTok app now sticks far more often. When TikTok had your request and the next check came back unreadable, TikTalk treated that silence as you having withdrawn the approval, threw it away, and handed you a fresh link to start over. Five approvals were discarded that way in twenty minutes of production logs on 2026-08-22. An unreadable check now holds your approval instead of cancelling it, and only a clear signal from upstream that the request is gone is treated as one.
- A state TikTok's login service has not used before no longer cancels an approval in progress. Anything unfamiliar arriving between "TikTok has your request" and being signed in was read the same way as a withdrawal, so a change on their side could have discarded approvals silently.
Version 1.0.2.0
Changed
- The approval page now waits until you say you are ready before making a link. TikTok only accepts one for about thirty seconds, and making it the moment the page loaded spent most of that while you were still reading. You open the TikTok app first, press "Get my approval link", and the link arrives with the cursor already on it, so the whole thirty seconds goes on switching to TikTok and approving.
- On a computer the QR code is now shown from the start and named as the route to use. Copying the link into an email and opening it on a phone takes minutes, so it could never arrive in time; scanning with the phone already in your hand is the only cross-device route that fits.
Fixed
- When an approval does not reach TikTalk in time, the page now says so and tells you to approve again, instead of reporting that a link expired. Approving on a phone and then waiting for a sign-in that could never arrive was the failure this wording hid.
- Choosing "Start again" returns you to the ready step rather than immediately making a link you are not yet in a position to use.
Version 1.0.1.0
Added
- Sign in from a computer by sending the approval link to your phone. The approval page now leads with a copy button, an email-it-to-yourself link, and the link as selectable text for when the clipboard is refused. Approving on the phone signs you in on the computer you started from, with no extra step.
Fixed
- Approving in the TikTok app no longer leaves you on a page that never signs you in. TikTok ends an approval link about thirty seconds after issuing it, and that ending was being reported as though TikTok had refused you, stranding you on a dead end. The page now quietly fetches a new link and keeps going.
- Returning to the browser from the TikTok app no longer leaves the page frozen on whatever it last said. On iOS the page is thawed rather than re-shown, which the page was not listening for, so it stopped checking for your approval and never noticed it arrive.
- A sign-in left open no longer gives up after ninety seconds. Refreshing the link is now normal rather than an error, so the page stays usable for as long as the attempt is valid.
Changed
- A refused approval is still reported as a refusal, and is never silently retried behind you.
Infrastructure
- Project search index (gbrain) configured for the repository.