Changelog

A New Look, Smarter Audio, and Seamless Reconnections

This week we launched a full platform rebrand to Mato, shipped professional audio post-production, fixed interview disconnects so sessions never get cut short, and squashed a wave of production bugs across the board.

Big week at Mato. We shipped a brand-new name and visual identity, added a professional audio processing pipeline that makes every episode sound studio-quality, and resolved a frustrating issue where live interviews would drop and lose all context. There's also a long list of reliability and quality-of-life fixes that quietly make everything work better.

New Features

The Platform is Now Mato

We've officially rebranded from PodcastAI to Mato. The new name comes with a refreshed visual identity — a warm color palette, updated typography, a new favicon, and a redesigned marketing site. Every corner of the product has been updated to match. If you've been using the platform for a while, you'll notice the app feels more polished and cohesive.

Professional Audio Post-Production

Every episode you generate now goes through an audio post-production pipeline that applies the kinds of processing you'd find in a professional studio. This includes room acoustics simulation, dynamic compression, EQ shaping, saturation, and loudness normalization. The result is audio that sounds more natural and broadcast-ready out of the box, without any extra configuration on your end.

Interview Reconnection That Actually Works

Live interviews can now recover gracefully from connection drops. When the connection is lost, a recovery dialog appears with a timer and options to reconnect or end the session. When you reconnect, the AI host picks up exactly where it left off — with full awareness of everything that was discussed — rather than starting fresh with a "Hello, how are you?" as if nothing happened. We've also added faster detection of dead connections so the drop is caught sooner.

Embeddable Q&A Widget

The listener Q&A form can now be embedded on any external website using a single script tag, similar to how you'd embed a Twitter widget or a contact form. The embed auto-resizes to fit its container and blends seamlessly with any host page design. You'll find the embed code in your podcast's Q&A settings tab, along with a live preview.

No More Episode Limits

All plans now have unlimited episode generation. The previous monthly cap has been removed entirely, and billing is handled on a per-episode basis instead. If you were previously hitting a limit wall, that's gone.

Improvements

Homepage Loads Without Crashing on Mobile

The public shows directory was triggering up to 3GB of memory pressure on mobile browsers by decoding audio files client-side just to render the waveform visualizations. Waveform data is now pre-computed on the server and cached in the database. The page loads with zero audio downloads, which means it no longer crashes on iOS or low-memory Android devices.

Script Editor is Smooth on Large Scripts

Editing long scripts — especially those with seven or more segments — would cause visible flickering and input lag. The editor now handles large documents without any perceptible delay or visual artifacts, even when typing rapidly or scrolling through the page at the same time.

Interview Subjects Can Now Leave Feedback

After an interview is completed, subjects receive a review page where they can leave written feedback, submit specific edit requests, and formally approve the transcript for publication. All of that feedback is surfaced directly on your interview dashboard so you can act on it before publishing.

Q&A Embed Upgraded to Script-Tag Loader

The previous iframe-based Q&A embed has been replaced with a script-tag approach that handles auto-resizing, works on any domain, and dispatches events when a question is submitted. Existing embeds will need to be updated to the new snippet format.

Single-Host Podcasts No Longer Generate Invalid Markers

Scripts for podcasts with a single host were sometimes receiving instructions to insert background reaction markers for a non-existent second speaker. Those markers would fail validation and cause unnecessary retries. Single-host podcasts now correctly skip that step.

Transcription Works on Long Episodes

Episodes longer than 25 minutes were sometimes failing during transcription because the compressed audio file didn't actually come in under the size limit required by the transcription API. The compression logic now calculates a precise target bitrate to guarantee the output fits, with an automatic fallback to chunked processing if compression fails for any reason.

Source Articles Are Now Properly Tracked

The system was supposed to save which articles were used as source material for each episode, but almost none were being recorded because the detection logic required an exact name match that almost never occurred. All articles provided as context are now saved for every episode, giving you an accurate source record after generation.

Bug Fixes

Gemini TTS No Longer Inserts Hallucinated Dialogue

Gemini's multi-speaker voice model was deterministically inserting extra conversation lines — things like "Not as obvious, right?" — at certain conversational gaps in the script. This would shift all subsequent speaker turns off by one, effectively swapping voices for the rest of the section. The fix combines a lower temperature setting with explicit turn-count enforcement in the prompt, so the model speaks exactly the lines in the script and nothing else.

Gemini TTS No Longer Speaks Prompt Metadata

In some cases, Gemini would vocalize parts of the generation prompt itself — treating context instructions as dialogue lines to be spoken aloud. This has been fixed by restructuring how context is passed to the model, using summarized descriptions instead of raw dialogue excerpts.

Long Episodes No Longer Crash During Transcription Chunking

A bug in the audio processing pipeline caused crashes when extracting segments from long episodes that had been re-encoded, because the reported audio duration could be off by hundreds of seconds after re-encoding. Segment end times are now clamped to the actual source duration before extraction.

Script Editor No Longer Throws Range Errors

The script editor was intermittently throwing a "mismatched transaction" error that could corrupt the editor state and break auto-save. The underlying cause was a timing issue in how decoration positions were computed. The fix moves that computation to the correct point in the editor lifecycle.

TTS Costs Are Now Recorded Accurately

Usage records for text-to-speech generation were always saving a cost of zero and missing the provider name. Actual costs are now calculated per character based on the provider used, and both the provider and cost are saved correctly after each generation.

Schedule Time No Longer Fails to Save

Podcast schedules set with a specific time were sometimes failing to save due to a format mismatch between how the database stores times and what the form validation expected. The form now normalizes the time format correctly on load, on validation, and before writing to the database.