Changelog
What shipped, when.
0.3.30
- When Jump to it cannot find a suggested title in the recording, the note sits under that title. The title stays readable beside the button.
0.3.29
- Suggested sermon titles now have a Jump to it button. Go straight to the part of the recording that supports a title and see the matching transcript lines, even inside a folded section.
- Older title suggestions can find their place in the transcript when you need it. Jumping leaves a paused video paused.
0.3.28
- Speaker labels: our usual speaker labeler still decides who spoke when. The faster Desert Ant Labs labeler now works as a second opinion beside it: it double-checks those labels, and when a stretch of speech was left without a speaker (or the usual labeler fails), it fills that gap, using the voices we already know so names carry over. It never changes a label the usual labeler set. Transcripts it helped with show "Speaker labels powered by Desert Ant Labs".
0.3.26
- Behind the scenes: uploads.run can now use a much faster speaker labeler on its own processing computers, so speakers are separated in seconds instead of minutes. It is turned off for now while we confirm licensing; when it is on, transcripts it labeled show "Speaker labels powered by Desert Ant Labs". Names still carry over week to week either way.
0.3.25
- On phones, the upload page now leads with the title, video, and a Publish button beside a More menu. The transcript follows, and editing details sit in one tidy list below it, in both light and dark themes.
- Video playback now explains when a recording cannot start, with options to try again or download it.
- Transcript search reveals matches in folded sections, highlights every occurrence, and lets you move between results.
- Phone transcript sections show a color dot, name, and time range, with Show/Hide and an edit button for the section type.
0.3.24
- Sign-in emails work again. The "Sign in" button, the backup link, and the logo in sign-in, invite, and email-change emails pointed to a broken address instead of uploads.run. The 6-digit code was not affected.
- Entering your sign-in code a second time after it already worked no longer shows "Invalid or expired code". You stay signed in and go straight to your dashboard.
0.3.23
- Speakers keep their names week to week. Every time you label someone, uploads.run learns their voice from the whole recording, not just the first few seconds, so the same pastor is recognized again next Sunday.
- When uploads.run is fairly sure but not certain, it asks "Is this Pastor Mike?" next to the voice. Answer Yes to name every line from that voice, or Not them to leave it unnamed.
- Fixing a name, merging two duplicate speakers, or confirming a suggestion now also updates past uploads in the background. Names you set by hand are never changed.
- The Speakers page shows whether uploads.run has learned each voice yet, and a new Forget voice button stops uploads.run from recognizing someone and deletes what it learned about their voice, while keeping their name and past labels.
- Deleting an old upload no longer makes uploads.run forget a speaker's voice.
0.3.22
- The Desktop app page now shows when each linked computer was last seen and when its app last updated, so you can tell a church computer is still checking in and installing updates.
0.3.21
- Link an existing YouTube video to the full recording or sermon cut. We verify the connected channel and keep a record of who linked it.
- Reconcile failed publishing attempts with a verified video already on YouTube.
- Short suggestions stop after three AI rounds per upload or when no more moments are found. Errors appear beside the Suggest more button.
0.3.20
- Short previews stop retrying after one playback URL refresh when video remains unavailable.
- Editing a Short keeps its video available for pending publishes, and deleted Shorts stay out of the list while background work settles.
- Billing shows unavailable usage instead of zero when workspace counts cannot be loaded.
- Worktree email templates refresh reliably, worker plist updates skip Python setup, and the email dependency includes the latest security fix.
0.3.19
- Open Shorts from an upload's header or side tab to manage them on their own page, with more room for previews and editing.
- Transcript section headers stay visible as you scroll, with the next section taking their place.
- Closing a Short preview returns keyboard focus to the Preview button.
0.3.18
- The transcript keeps loading later parts of a long recording on its own. Sections that are not loaded yet say "Loading…" instead of "No segments in range."
0.3.17
- Long videos now reliably get a playback copy, even if the connection to storage drops partway through. uploads.run picks up where it left off instead of saving a copy that stops early, and it allows long recordings enough time to finish.
- If a playback copy still comes out shorter than the recording, uploads.run says so and makes a fresh one automatically.
- uploads.run now waits for a recording's length to be measured before it starts the playback copy, instead of using up its retries while it waits.
0.3.16
- Desktop app 0.1.12 connects on more networks. It trusts the same certificates and uses the same proxy settings as your Mac, tries IPv4 first, and switches to encrypted DNS when the network's DNS hands back an address that doesn't work. If HTTP/3 fails, it uses HTTP/2 or 1.1 and remembers that for a week. Update checks that fail are tried again within minutes instead of hours.
- When the desktop app can't reach uploads.run, it now says so and shows the likely reason (for example DNS, a blocked or intercepted connection, or a timeout) along with the full error, instead of a bare "TransportError". It also checks DNS, the connection and HTTPS to each uploads.run address, and sends that report once it's back online to help with support.
- The desktop app's Back button shows its arrow again instead of an empty box.
0.3.15
- Desktop uploads are now checked piece by piece. The desktop app reads each piece from the file and sends its fingerprint along with it. If storage ends up with different bytes, that piece is sent again right away, without restarting the whole file. Before an upload is marked complete, uploads.run checks the whole saved file against the computer's copy. If they don't match, it sends the file again.
- Desktop app 0.1.11 fixes a bug where large recordings could be saved with parts of the file mixed up, which made video and sound unplayable in the first part of the recording. Recordings that were cleared from a workspace for this reason are sent again automatically after the app updates.
0.3.14
- Updated the email delivery dependency to fix security issues in email address parsing and SMTP connection handling.
- Updated the image processing dependency with security fixes.
0.3.13
- Recordings with an extra damaged audio track now transcribe. uploads.run checks each audio track, picks the one with real sound, and moves on to the next if one won't play. If none work, you see "We couldn't find usable audio in this recording."
0.3.12
- Publish automatically is now on by default when you link a computer. Turn it off on the link page if you'd rather review recordings first. Computers you already linked keep their current setting.
0.3.11
- Linked computers now belong to the workspace, not to the person who linked them. A computer keeps uploading if that person leaves the workspace or changes role.
- Only workspace owners and admins can link a computer. Members see the workspace's linked computers and can ask an admin for changes.
- The Desktop app page lists every computer linked to the workspace. Any owner or admin can rename a computer, turn automatic publishing on or off, or unlink it. An unlinked computer stops uploading right away.
- Choose whether a computer publishes automatically when you link it. You can change it later.
- Uploads from a linked computer show the computer's name, and upload limits are counted per computer.
- Desktop app 0.1.10 explains that an owner or admin needs to link the computer when someone else tries.
0.3.10
- Linking a computer is sturdier. Clicking Link device twice no longer starts over, an admin can link several computers at the same time, and if the active workspace changes before you click, uploads.run asks you to check it first.
- Old link requests now expire cleanly with a clear message, and the "Almost done" page only says you're linked once the app has really finished. If the app was closed, the page tells you how to pick up again.
- Desktop app 0.1.9 stops right away with a plain message if the account it's linking with no longer has access to the workspace.
0.3.9
- Desktop app 0.1.8: on a Mac, the uploads.run mark in the menu bar slowly fills from the bottom while a recording is uploading, then goes back to the normal mark when it's done.
- Upload progress now shows two decimal places (for example 1.37% · 4h 22m left), so you can see long uploads moving.
0.3.8
- Desktop app 0.1.7 uploads much more reliably on slow or strict networks. It now sends recordings the same way the website does: several pieces at once over the faster connection browsers use, retrying any piece that stalls and switching routes if one path is blocked.
- When the desktop app can't reach uploads.run, it now says so in plain words and keeps retrying, instead of showing "error sending request". The time left only appears once there's a real speed to go on.
- Only the recordings you pick are sent. Files left waiting from an earlier link are cleared when you unlink, and unchecked files are dropped when you choose which existing recordings to send.
- The desktop app always shows Status and Settings tabs plus a Back button, "Add folder" sits at the top of Status, paused folders offer a "Resume" button, and the folder picker opens in front.
- After linking, the browser tab asks to open the app only once, then shows "You're linked" and closes itself.
0.3.7
- New download page at uploads.run/download. Get the Mac desktop app, see the current version, and follow three short install steps. A Windows version is coming soon.
- Linking the desktop app is more reliable. The browser now always lands on a friendly uploads.run page, and the app (0.1.6) finishes linking on its own, even if you take a while to sign in. Updates also wait until linking is done.
0.3.6
- Fixed the Mac desktop app (0.1.5) showing a "Where is use_default?" window when linking or when an upload notification appears. Notifications now come from uploads.run.
0.3.5
- The Mac desktop app (0.1.4) shows the uploads.run mark in the menu bar. It matches light and dark menu bars, and a small dot appears while recordings upload. Windows shows the uploads.run icon in the system tray.
0.3.4
- The Mac desktop app (0.1.3) is now signed and notarized by Rooted Software, so it opens without the right-click step. Existing installs update automatically.
- The desktop menu bar menu now stays open while uploads are in progress, so its items can be clicked.
0.3.3
- Link your recording computer and return to the app automatically. Give each device a familiar name so your team knows which booth or recording station it belongs to.
- The new setup guide walks you through choosing a folder and deciding which existing recordings to upload. New recordings upload automatically, with progress in the app and menu bar and a notification when each upload finishes.
- You can rename or revoke your own devices from the web app. Folder status, upload history and update preferences are easier to find in the desktop app.
- Pause, resume or stop a recording from the desktop app. Your team can also stop an in-progress desktop recording from the web uploads list. Stopped files stay skipped until you choose Send again.
- The linked-devices list now shows each computer's workspace and app version. Older finished recordings start uploading sooner, while recordings still being written wait safely.
- Google Drive folders can download streaming recordings as needed and free up space after both backups finish. Existing offline copies stay on your computer. The desktop app follows your appearance preference, and signing out keeps your recording folders saved for next time.
0.3.2
- Download the Mac app from the desktop uploader guide and add your recording folder to upload finished services automatically.
- The app keeps itself up to date between uploads. You can turn off automatic installation in Settings and check for updates whenever you need to.
0.3.1
- Transcription and publishing are more dependable after updates. If an update to the processing computer ever fails to start, it now switches straight back to the previous working version instead of pausing your transcripts and uploads.
0.3.0
- New uploads.run desktop app for Mac. Pick a folder on the computer that records your services, and new recordings upload automatically once they finish writing. It replaces Google Drive watch folders and needs no extra Google permissions.
- Link the app to your workspace from the browser with one click. Members can use it, and the same monthly upload limit and file-size checks apply as for other uploads.
- Each watched folder can optionally publish with a preset, so recordings can go straight to YouTube or Vimeo.
- Files that were already uploaded are skipped, and an upload interrupted by a restart picks up where it left off.
0.2.12
- Import from Google Drive now finishes the copy. A video or audio file you pick is saved and transcription starts, including when a member picks the file and when watch folders are turned off. The same monthly upload limit and file-size check apply as for other uploads.
0.2.11
- Google Drive import is now a file you pick, not a watched folder. uploads.run no longer asks for read access to your whole Drive, so Google's paid security review is not required. Watch folders and Drive backups are paused and can be turned back on later. You can still import videos and audio from Drive. A desktop uploader is coming.
0.2.10
- The notification bell now keeps receiving live updates on iPhone Safari. Previously, if the page reloaded the bell quickly, Safari could stop delivering new notifications until a full refresh.
0.2.9
- The health check at /api/health now reports healthy when the app and its sign-in service are up. It was always reporting down because its check of the sign-in service was missing the key that service requires, which could set off false alarms in uptime monitors. It still reports down when the sign-in service really is unreachable or failing.
0.2.8
- Closing or leaving the page in the second right after picking a file no longer stops everyone in every workspace from starting new browser uploads. Before, that left-behind upload kept a shared placeholder name that had to be unique, and every later upload failed.
- When an upload can't be started, the message now says so ("Could not start the upload. Try again.") instead of wrongly blaming the monthly upload quota. If the page is on a different workspace than the one being uploaded to, it asks you to refresh.
- Uploads that never started are marked failed by the hourly cleanup after one hour instead of 24, so they don't sit in the list looking queued.
0.2.7
- While you upload a file from this browser, its progress appears in one place: the bar at the top of the page. The upload page no longer repeats it under the title or over the video preview. The status still says Uploading.
- The top bar now shows the estimated time left and a Cancel button, alongside the amount sent, the percentage, and the reminder to keep the tab open. It stays at the top of every page until the upload finishes or fails. The time-left estimate uses recent speed, so it stays accurate after a resumed upload. On other pages the bar links back with View upload.
- Watch-folder copies, Google Drive intake, and uploads running in another tab or on another computer still show progress on the upload page, because they have no top bar.
- When you scroll a wide upload page, the pinned video preview now sits below the upload bar instead of underneath it.
0.2.6
- Browser uploads send four pieces at a time. New uploads use 8 MiB pieces, increasing only for very large files to stay within the 10,000-piece limit. Uploads started with the previous 5 MiB pieces can still resume.
- An optional Cloudflare upload gateway lets browsers send pieces over HTTP/3 where the browser and network support it, with HTTP/2 or HTTP/1.1 negotiation otherwise. If the gateway cannot be reached or repeatedly fails to save pieces, the upload automatically retries directly against storage. Saved pieces are kept across both paths.
- Connections that stop moving now return to the same bounded retry loop as failed requests. After five consecutive tries save no new piece, the upload stops and explains the failure. Progress from several simultaneous pieces is described as aggregate progress instead of incorrectly blaming one piece.
- The server verifies the full saved part sequence, ETags, and exact file size before finalizing. A partial file can no longer be accepted simply because it is below the size limit.
- Gateway requests require an expiring token bound to the bucket, upload, object, storage session, piece number, and exact byte count. Existing admission, quota, ownership, and signing limits remain in the app. The gateway is disabled unless explicitly configured; production activation is a separate deployment step in PRODUCTION.md.
- Gateway responses are marked `no-transform` so Cloudflare does not compress them and weaken the part ETag, and the server compares ETags without a `W/` prefix and completes with the ETags R2 itself listed.
0.2.5
- An upload on a connection that keeps cutting it off no longer starts over forever. Each piece of the file is about 5 MB. When the connection drops partway through a piece, that piece has to be sent again from its start, so the progress bar goes back. The page now says so ("The connection dropped after 1.2 MB of piece 1. Sending that piece again…") instead of silently going back to zero.
- If five tries in a row save no new piece, the upload stops and says what happened, for example "The connection was cut off 20 times before piece 1 could finish. The longest try sent 1.2 MB of 5.2 MB…", and names the address to allow (*.r2.cloudflarestorage.com). Bytes still on their way no longer count as progress, because they are lost when a piece is resent. Choose the same file to continue later; pieces already saved are kept.
- A piece that sends nothing for a minute is sent again. The previous uploader did this; the switch to Uppy in 0.2.3 had dropped it, so a dead connection could hang until the computer gave up on it.
- Every resent piece is written to the server log as `browser upload error:` with how much of it got out and how long it took (the first three for an upload, then at most one a minute). A stuck upload now leaves the evidence needed to tell a network problem from an app problem.
- Piece addresses no longer carry a checksum of an empty file. Tested against real R2: 0.2.4's addresses with that checksum were accepted (HTTP 200 for every piece, from curl and from real Chrome), so this was not why uploads stalled. It is removed so storage that does check it can't reject every piece.
- The bar at the top of the page now says reloading or closing the tab pauses the upload, and that choosing the same file resumes it. It used to say reloading stops the upload, which wasn't true: pieces already saved are kept.
- `bun run r2:probe` opens a throwaway test upload in the dev bucket and prints short-lived piece addresses, so a computer that cannot upload can be tested with curl over the same path the browser uses. TESTING.md has the steps.
0.2.4
- A new upload of a video that needs its header moved could die immediately with the message "Illegal invocation", at 0 bytes, and then ask you to resume a transfer that had never started. The browser can read the file again, and the first attempt now sends data.
- If an upload fails before anything is saved, the page says it didn't start and asks you to choose the file again. The "this browser lost the transfer" message is only for an upload that already saved some of the file.
0.2.3
- Browser uploads now go through Uppy (`@uppy/core` and `@uppy/aws-s3`) instead of the hand-tuned multipart client. Uppy sends one piece at a time, at least 5 MB each, and retries a piece that fails. Part bytes still go straight to storage. This app still creates the upload, signs each piece, lists saved pieces, finishes the upload, and aborts it.
- The progress bar, the upload page, the screen wake lock, plain-language errors, and discarding an in-flight upload are unchanged. The server still records how far a manual upload has gotten, and browser errors are still written to the server log.
- An upload that was already in progress on the previous uploader cannot continue, because its pieces are a different size. Discard it and choose the file again. Uploads started on this version can still be resumed by choosing the same file.
- The storage bucket already allows the browser to read the ETag on a part upload. No Cloudflare change is required for this release.
- A file cannot be larger than 100 GB, and the pieces of an upload cannot add up to more than the size you started with. Each workspace also has a storage limit. Free workspaces can hold 100 GB. Pro workspaces can hold 2 TB.
- An upload can ask for at most 10,000 pieces, and only a limited number of times, including retries. Asking too quickly is slowed down.
- An upload that sits unfinished for 24 hours, or a file that was chosen but never started, is marked failed and its unfinished pieces are discarded.
- If one workspace suddenly has a lot of data in flight, or asks for piece addresses unusually fast, that is written to the server log and, when analytics is configured, to PostHog.
0.2.2
- A slow or shaky connection no longer gets stuck sending several large pieces at once. The upload starts with one 5 MB piece. When pieces finish quickly, it sends a few at a time and uses larger pieces, up to about 64 MB. When a piece fails or crawls, it sends fewer and smaller pieces.
- A brief dropout, such as a satellite handoff, is retried in under a second. One dropout does not leave the upload stuck sending a single piece. Until the connection has been steady again, new pieces stay about 5 MB, and a dropped piece is sent again without asking the server for a new address.
- On a link like the church's (about 10 Mbps up), the upload keeps moving near that speed. A piece is not cut off on a clock while data is still leaving, and the page does not redraw on every tick of the progress meter. A modest link sends at most two pieces at once so they do not fight each other.
- Choosing the same file after a refresh continues from the pieces already saved, even when those pieces are different sizes. A slow connection that is still moving data is given longer to finish a piece.
0.2.1
- Picking a file opens its upload page right away. Setting up the transfer, the poster, and the first parts continue in the background, and the page and the bar at the top say "Starting your upload…" until bytes start moving.
- The byte count moves as soon as data leaves the computer instead of waiting for each 8 MB piece to finish. On a slow connection it used to sit at "0 B" for minutes even while the file was sending.
- A piece that fails or stops moving for a minute is retried on its own, and the page says it is retrying instead of sitting at 0 B. A long upload only gives up after several failures in a row with no progress. If the network blocks the upload server, the message says so and names the address to allow (*.r2.cloudflarestorage.com).
- Upload errors from the browser are now written to the server logs so a stuck upload leaves a trail.
- Upload messages use plain words instead of storage jargon.
0.2.0
- While a file is still uploading, the page shows how much has arrived (for example "Uploading · 2.1 of 11.59 GB") instead of saying it was already uploaded. A progress bar stays at the top of every page until the transfer finishes or fails. Sizes match Finder on a Mac and Explorer on Windows, and the exact byte count is in the tooltip.
- Leaving the upload page does not stop the transfer. Refreshing or closing the tab does. The app asks the computer to stay awake and warns you before you leave. After a refresh, choose the same file to continue; parts already stored are kept. You are not told it is reconnecting at 0 bytes.
- A large new upload no longer sits at 0 bytes. Checking for parts already saved on a brand-new upload could hang until the server gave up, so the file never started sending.
- "You're offline" no longer appears just because one connection check is slow during a big upload. The notice waits for several failed checks, stays hidden while an upload is still running, and goes away as soon as a request succeeds.
- Deleting an upload that is still transferring stops it. The progress bar at the top goes away, the computer can sleep again, and you are not asked to resume a file that was deleted.
0.1.113
- You can delete Shorts again. A Short whose render failed now has a Delete button right on its card, so "delete and try again" actually works — a suggested Short goes back to its Render Short button. Any saved Short can also be deleted from the Short editor.
- Deleting asks you to confirm first. It waits while a Short is still rendering or publishing, so an upload in progress is never cut off partway.
0.1.112
- Publish a rendered Short straight from the Short editor again: the new Publish button opens publishing settings for that Short, and its YouTube status shows in the editor header.
- "Short publish failed" alerts on the dashboard and uploads list now open that Short's publishing settings, so you can review the error and retry in one step.
0.1.111
- Short suggestion Preview opens in a modal with a loading state, plays only the suggested clip range, and links straight into Edit Short or Render Short — no more scrolling back to the main player on mobile.
0.1.110
- Re-detect sections can be undone from the toast if the new pass is worse than what you had.
- The reclassify picker groups section types by part of the service instead of one long list. Short moments like a 20-second benediction stay their own section instead of being absorbed into the neighbor.
- Dismissing something from Needs attention can be undone. Ready, publish failures, and speaker confirmation dismiss separately, and dismissing a ready upload also clears the matching Inbox notification.
- Unchecking a YouTube playlist on a video removes it from that playlist. Playlists you added in YouTube Studio are left alone.
0.1.109
- Detected sections now cover the whole service, not just sermon, worship, prayer, and announcements. New section types: Welcome, Call to worship, Confession, Creed, Children's message, Offering, Response, Communion, Baptism, Child dedication, Testimony, and Benediction. Each gets its own color on the timeline and in the transcript.
- YouTube chapters generated from sections now say "Worship" instead of "Worship lyrics", and back-to-back worship no longer shows up as repeated chapters.
- Re-detect sections on any finished upload. The Re-detect button above the sections timeline runs the latest detection over the existing transcript, so older uploads pick up the new section types without re-uploading. Hand-edited sections are replaced; publish ranges you set yourself, and any sermon cut that has already been published, stay where they are.
0.1.108
- Saving YouTube details no longer adds the same sermon to a playlist twice.
- When you create a YouTube playlist, you can upload a square graphic. If you skip it, YouTube uses the first video's image.
0.1.107
- Organizations from every email signed in on this device now show in one sidebar list. Click any of them to switch, even if it belongs to a different email.
- When you create an organization, pick which email it should use so YouTube and Google stay on the church or ministry account.
0.1.106
- Privacy policy now explains how Google Drive and YouTube connections work: what we read, how we store and process it, who in your organization can see it, and how to disconnect.
0.1.105
- Stay signed in to more than one email on the same device and switch accounts from the sidebar, so you can keep personal work and a church workspace on separate logins.
- Organization owners can transfer ownership to another member from Team, and optionally leave the organization after the transfer.
- The assistant can answer how-to questions about the app, like switching accounts, inviting your team, or publishing.
- After you accept a team invite, you land in that organization instead of an older workspace.
0.1.104
- You can dismiss items from Needs attention when you are not going to review or publish them. They stay in your library and come back if processing or publishing fails again.
0.1.103
- YouTube publishes now add chapters from the service sections, so viewers can jump to the sermon, worship, scripture, and other parts. The publish panel includes a checkbox, on by default.
0.1.101
- New transcripts are cleaned locally after speech recognition to remove filler words, collapse stutters and false starts, resolve spoken corrections, and format punctuation, numbers, dates, times, currency, and email addresses while keeping timestamped playback aligned.
0.1.100
- When a sermon transcript is ready, opening the upload now offers titles and descriptions based on the pastor's own wording, plus a matching existing or suggested YouTube playlist.
- Private, unlisted, and future-scheduled videos keep this review available; uploads already public on YouTube or Vimeo skip it.
0.1.99
- Publishing settings now open beside the upload title and description, so privacy, release timing, thumbnails, playlists or showcases, and YouTube audience can be reviewed without scrolling through the page.
- Changed upload details can be saved and carried directly into publishing setup.
- Publishing confirmations now stay clear and keep a second connected video destination ready when needed.
0.1.98
- Trim dead air from the beginning or end of a full-service video before publishing. Drag the timeline handles, enter exact times, or pause the video and set the edge there; the original file stays unchanged.
0.1.97
- Saving title, audience, privacy, playlist, or thumbnail changes now updates the existing YouTube or Vimeo video without uploading the recording again.
- Publishing controls now say “Save YouTube changes” and show “Updating” while those changes are applied.
- Watch-folder videos stay linked to their original destination so later changes reach the same video.
0.1.96
- Dashboard publishing alerts now collapse duplicate attempts and disappear after a newer attempt succeeds or is canceled.
- Full-service, sermon, and Short publishing failures stay distinct and open the matching publishing controls.
- A new Needs attention uploads view makes ready uploads and recoverable publishing failures easy to find beyond the dashboard preview.
0.1.95
- Upload detail pages now include an Assistant side panel for summaries, discussion questions, title ideas, and clip suggestions grounded in that upload's transcript.
- Closing and reopening the Assistant panel keeps the active conversation on the page.
- Assistant text is easier to read against a softer background texture and higher-contrast surfaces.
0.1.94
- Dashboard is now the workspace command center. See uploads that need attention, active processing, recent content, scheduled releases, and workspace readiness in one place.
- Getting-started steps now stay inside the dashboard, so new workspaces can finish setup without losing the operational overview.
- Uploads is now a focused content library, while connections, team, billing, and appearance are grouped under Workspace settings.
- Dashboard sections now distinguish unavailable data from an empty workspace and provide clear recovery actions.
0.1.93
- The Assistant now uses the whole screen instead of a small box. Conversations run down a wide, readable column, and the composer stays anchored at the bottom of the page.
- Chat history moved to its own panel you can hide, and past chats are grouped by when you last used them — Today, Yesterday, Previous 7 days, and so on.
- Opening the Assistant with no chat selected now offers starting points — asking what a sermon said, drafting small-group questions, finding a clip-worthy moment, or getting title options — instead of a generic greeting.
- The message box grows as you type. Enter sends, Shift + Enter starts a new line.
0.1.92
- Ask the Assistant to use Sunday’s sermon, the latest message, or a sermon found by title, topic, speaker, scripture, or quoted words. It now reads the matching transcript before creating summaries, discussion questions, and other material.
- Follow-up requests stay grounded in the same upload, so prompts like “give me five more” continue from the sermon already being discussed.
0.1.91
- Search every transcript your church has recorded from the new Search page, or from anywhere with ⌘K. Results point at the exact moment something was said — click one and the player jumps straight to it with the words already highlighted.
- Narrow a search by speaker, topic, scripture reference, or part of the service. Filter from the list beside your results, or type it inline: `grace speaker:"pastor mike" kind:sermon after:2026-01-01`.
- Sermons are now tagged with the subjects they cover, and scripture references are pulled out of the transcript automatically, so you can find every message on Romans 12 without remembering which Sunday it was.
- Already have years of recordings? Run the topic backfill once and they become searchable too.
0.1.90
- Publish the sermon on its own, alongside the full service. One recording now produces two videos with separate titles, descriptions, and visibility — the whole service for people who missed Sunday, and the message by itself for people who want to sit with it again. Switch between the two at the top of the Publish panel; each has its own publish button and its own status.
- The sermon's start and end are found from the transcript automatically. When a service breaks the message in two — communion, a baptism, an illustration — the range now covers the whole message instead of stopping at the first part, and you get a warning showing what got swept in, with one click to trim it back.
- Corrected boundaries stay corrected. Once you adjust the sermon's start or end, re-running the transcript will never move it again. "Reset to detected" hands it back if you change your mind.
- Marking a stretch of the transcript as the sermon now moves the sermon cut to match it, so the section you fix is the section that publishes.
- Watch folders can now auto-publish both cuts. Under a folder's auto-upload settings, choose whether a dropped file becomes the full service, the sermon only, or both. The full service goes up as soon as the file finishes copying; the sermon follows once the transcript has found it and the trimmed export is ready. Existing folders keep publishing just the full service until you change them.
- Fixed: a sermon longer than half the service used to publish the entire untouched recording instead of the trimmed cut. Sermons that long are the norm, so this was hitting most churches.
- Fixed: a failed sermon export no longer reports the full service as failed. The two are independent — one can be live while the other is still rendering or needs another try.
0.1.89
- Publishing now waits for saved titles and descriptions, then confirms the final title, description, visibility, schedule, and made-for-kids setting with YouTube before reporting success.
- Long recordings now reject and repair incomplete playback previews, so the upload page shows the full recording instead of a truncated clip.
0.1.88
- Upload podcast artwork, adjust the square crop and zoom, and approve the final preview before saving your show.
0.1.81
- Shorts now show their YouTube or Vimeo status in the Shorts list, with a clear management path for each rendered Short.
- Short management now includes safe deletion from the editing page when a Short needs to be removed.
- Rendering one Short no longer refreshes other Short previews on the upload details page.
0.1.80
- The upload detail page now keeps the transcript in a shorter scrollable panel, so you can review it while still seeing the suggested Shorts below.
0.1.79
- Short adjustment pages now open reliably after the new framing controls are live.
- Team invites now handle setup failures cleanly instead of leaving a confusing pending invite.
- Short previews keep playing on long-open editing pages after the video link refreshes.
0.1.78
- Uploads now makes Shorts easier to find, with a Clips filter, clip counts, and quick links straight to clip review.
0.1.77
- Short clips can now be reframed before rendering, so landscape recordings fit vertical clips with better control.
- Video previews and download links now recover after a tab has been open for a long time, without needing a page reload.
0.1.76
- Team invitations now let first-time teammates sign in and accept their invite reliably.
0.1.75
- Selected assistant chats now keep the date easy to read, so returning to a recent conversation is clearer.
0.1.74
- Assistant chats now stay available after you leave the page, so you can return to previous questions and answers.
- You can search past assistant chats and delete conversations you no longer need.
- When the assistant finds an upload, it now includes a link back to that upload.
0.1.73
- Workspaces can start a Beta Pro trial without entering payment information.
- When a free workspace runs into the one-seat limit while inviting someone, the invite screen now offers the Beta Pro trial instead of leaving the invite blocked.
- The owner console now shows a clear path to start Pro access for an existing organization while billing setup is still in beta.
0.1.72
- The assistant now looks through your church's uploaded transcripts when you ask for a sermon, passage, or phrase, instead of suggesting public sermons from elsewhere.
- Assistant replies now keep headings, lists, and emphasis readable in the chat.
0.1.71
- The Short editor now keeps playback, timestamps, and trim controls together in the vertical preview, so you can check nearby context while setting the cut.
- Rendered Shorts now show a cleaner download panel without a second video player competing for space.
0.1.70
- Rendered clips can now be published from the clip adjustment page, including YouTube Shorts-ready uploads.
- The clip adjustment page now keeps the playback timer visible while you fine-tune a Short.
- The clip adjustment layout now gives the video, trimming controls, and publishing panel more room to work.
0.1.69
- Once a video is published, the upload page now links straight to it on YouTube or Vimeo instead of showing a publish button for a destination it's already on.
- Published to more than one place? Each destination gets its own link, so you can jump to any of them from the upload page.
0.1.68
- Destination publishing now shows clearer progress, including when a video is waiting to start, starting, or actively uploading.
- Stuck publishing attempts now show a retry option instead of sitting on a vague queued status.
- Upload pages now show publishing progress in the header and destination sidebar while YouTube or Vimeo is receiving the video.
0.1.67
- The "Published this month" stat now counts when an upload first went live, so later title or description edits do not inflate the total.
- Invalid clip edit links now fail cleanly instead of opening the wrong clip.
0.1.66
- Queued destinations now show the title and description they will use, with a clear edit path right from the destination row.
- Destination edits now stay in sync with drafts that have already been created on YouTube or Vimeo.
- The publish form now steps out of the way once a destination is already queued or uploading.
0.1.65
- Rendered Shorts now include a download button, so you can save the finished vertical clip and upload it anywhere you need it.
- The Short editor also shows the same download option after a clip is rendered.
0.1.64
- Videos recorded in interlaced format (common with some cameras and switchers) no longer show jagged, checkered distortion around movement in the preview and Short editor.
- Rendered Shorts from interlaced sources now come out with smoother, cleaner motion.
0.1.63
- Short adjustment pages now show the upload name, clip length, match score, and render status at the top so editors know exactly what they are working on.
- Suggested Shorts can now be titled before rendering, instead of waiting until after the first render.
- Saving a title-only change no longer sends the Short back through rendering.
- Rendering, failed, and saved-but-missing-preview states now give clearer next steps, including a quick refresh when the preview link needs to be retried.
- Returning from the Short editor now lands back at the clips section on the upload page.
0.1.62
- Adjusting a Short now opens its own page with a larger video preview and clearer controls, instead of expanding inline on the upload page.
- While previewing a clip, the current time stays visible on the video so you can see exactly where playback is.
- Skip back or forward 5 seconds with on-screen buttons or the left and right arrow keys while previewing.
- Nudging the end time by a second replays the last few seconds up to the new end, so you can fine-tune where the Short stops without starting over from the beginning.
0.1.61
- Speaker labels now apply to every matching voice in an upload, so naming a pastor or guest once teaches future uploads more reliably.
0.1.60
- Sign-in now catches email typos before sending a code, with a clear message to fix the address.
- Wrong or expired verification codes show a plain-English message instead of a technical error.
- Team invites reject invalid email addresses before the invite is sent.
0.1.59
- Uploads now show Published once a video has been sent to YouTube or Vimeo, instead of staying stuck on Publishing after the handoff finishes.
- The uploads list and In progress count now reflect when your team is actually done with a publish, while you can still make clips and edits afterward.
0.1.58
- Speaker labels are more reliable when you correct one paragraph, so future speaker matching is less likely to learn the wrong voice.
- The sign-in code screen is clearer and now shows better feedback when you resend a code.
0.1.57
- Transcripts now distinguish different speakers — when more than one person is talking, you'll see separate speaker labels instead of one label for the whole recording.
0.1.56
- When you label a speaker on one paragraph in the transcript, only that section is updated — not the entire recording.
0.1.55
- Source videos stay in storage for 90 days (up from 7), so you have more time to review, download, and create Shorts after publishing.
0.1.54
- Deleting a Short now asks you to confirm first, so a stray click can't remove a clip you meant to keep.
- You now get a quick confirmation when a Short starts rendering and when a clip is deleted — no more wondering whether your click registered.
- A finished Short that's slow to load now tells you to reload and try again, instead of wrongly reporting that it failed and telling you to delete it.
0.1.53
- Clip suggestions now learn from your edits. As you render, fine-tune, and dismiss Shorts, future suggestions lean toward the clip lengths and cut points your team actually publishes.
- Fixing a section type teaches the software too — when you relabel a section, that correction helps the AI find the sermon more accurately on later uploads.
- Improvements build up over time and apply automatically; there's nothing new to turn on.
0.1.52
- You can now fine-tune where a Short starts and ends with a drag slider, time fields, and one-second nudge buttons.
- Dropping a slider handle replays the clip in the player, so you can screen the exact cut before saving.
- Adjusting an already-rendered Short re-renders it with the new start and end times.
- Cuts snap to nearby word boundaries by default, with a toggle to place them exactly where you want.
- Each Short you render now stays grouped with the moment it came from, so previewing, adjusting, or removing it is all in one place.
- "Suggest more clips" finds additional standout moments you haven't seen yet — it remembers everything already suggested, including clips you dismissed, and skips them so each pass surfaces something new.
0.1.51
- You can now schedule a YouTube video to go public at a future date and time.
- Scheduled YouTube releases stay visible on the upload page so your team can confirm what is queued.
0.1.50
- You can now edit or cancel a YouTube upload while it is still in progress.
- Upload pages now refresh title, description, privacy, and playlist details from YouTube and Vimeo when provider drafts change.
- Newly created playlists now stay attached to the video draft you selected.
0.1.49
- You can now create a new YouTube playlist or Vimeo showcase while publishing, then select it right away.
- Watched Drive folders can now start private YouTube or Vimeo drafts automatically when new recordings arrive.
0.1.48
- Connected accounts can now be reconnected from the Connections page when permissions need to be refreshed.
0.1.47
- You can now choose YouTube playlists and Vimeo showcases before publishing.
- YouTube publishes now include the audience setting, so videos can be marked correctly for kids or not made for kids.
- You can let YouTube or Vimeo pick the thumbnail automatically, use the generated preview, or upload your own thumbnail before sending the video.
0.1.46
- Owners can now remove stuck processing jobs from the queue in the admin console.
0.1.45
- Long recordings now have better processing safeguards, with clearer visibility into which processing device is working on each job.
0.1.44
- YouTube publishing now shows upload progress and can resume a private draft transfer if a long upload is interrupted.
0.1.43
- Large YouTube uploads now recover more clearly if a transfer pauses, so publish jobs do not sit stuck without progress.
0.1.42
- Large YouTube uploads now keep sending as private drafts instead of stalling during long publishes.
0.1.41
- YouTube destination links now open the matching Studio draft when that draft is available, so you can review the right upload without searching through Channel content.
0.1.40
- Fixed uploads and other pages returning "page not found" for users whose sign-in token couldn't be re-verified on the server. The app now reads your current organization directly from your session token — the same one the database checks — so what you see always matches what you have access to.
0.1.39
- Fixed a bug where members of more than one organization could get a "page not found" for their own uploads (and other org-scoped pages) when their session token couldn't be read. The app now falls back to the organization you last switched to, instead of your oldest one, so your data stays visible.
0.1.38
- Fixed the app icons that pointed at files the server never served: the 192px, 512px, maskable, and larger Apple touch icons returned 404, so installing uploads.run to a phone home screen produced a blank icon. They're now served from the right place and show the brand mark.
0.1.37
- While a recording is being transcribed, the status now tells you which part is running — transcribing speech, analyzing audio, separating speakers, or analyzing voices — instead of sitting on a single "Transcribing" for the whole time, so a long transcription reads as steady progress.
0.1.36
- While a video is still uploading to YouTube, the destination now shows a spinner so you can tell it's in progress, plus a link straight to your YouTube Studio channel to check on it. Once the upload finishes, that becomes an "Open" link that takes you right to the video.
- Fixed a problem where reloading the page during a YouTube upload brought the "Send to YouTube" button back and let you accidentally send the same video twice. The page now shows the upload's live status instead.
0.1.35
- Files pulled in from a watched folder now show a live progress bar with percent complete and an estimated time remaining while they're being copied in, so you can see how far along a large recording is instead of just "Uploading".
0.1.34
- Sermon detection is better at keeping a short opening Scripture reading with the sermon instead of splitting it out as a separate long section.
- You can now correct a transcript section from the review screen, including changing a selected range to Sermon, Scripture, Prayer, Announcements, Worship, or another section type.
- Sermon publish ranges can now cover longer services when the sermon is most of the recording.
0.1.33
- Transcript sections now follow what is happening more closely, so prayer starts when prayer begins instead of when it is introduced.
- Opening or hiding one transcript section no longer changes every section with the same label.
0.1.32
- Upload review now starts with the full recording selected, so publishing does not accidentally begin from a smaller detected section.
- Service timelines are easier to scan, with clearer section colors and labels that fit the space available.
- Sermon starts that introduce a Scripture passage are less likely to be split out from the sermon.
- New uploads now avoid black lead-in frames when choosing their thumbnail.
- The uploads list is easier to read on small screens.
0.1.31
- Buttons now show the expected pointer cursor when you hover them, including transcript section controls and speaker labels.
0.1.30
- Worship songs are now detected more reliably, so sung lyrics are less likely to be grouped into the sermon.
- Transcript sections now rely on the range shown in the section header instead of repeating confusing timestamps beside each paragraph.
0.1.29
- Google Drive folder imports now show when a recording is actively copying instead of sitting as queued.
- You can edit a recording's title and description before processing finishes.
- Drive folder imports can show an early preview image when Google provides one, then replace it with the final video frame later.
0.1.28
- Google Drive folder imports are more forgiving when a scan is retried or sees a file it already noticed, so recordings keep moving into processing instead of getting stuck.
0.1.27
- New video uploads now move into processing without pausing at the first transfer step.
- YouTube publishing is easier to run and verify in local testing and production.
0.1.26
- Sign-in is more reliable when you type quickly on the login screen.
- Local reset now opens to a ready CapCity workspace with a sample service, transcript, publish range, and connected destinations for easier testing.
0.1.25
- Upload details use the full screen width on tablets and smaller laptops — the sidebar moves into the menu until your screen is wide enough for a comfortable two-column layout.
- The video player glides smoothly into the side panel when you scroll down, and glides back when you scroll up.
- Publish trim presets ("Use sermon" and "Full recording") sit together for quicker switching.
0.1.24
- When you set a custom publish range, the video player now previews that section automatically — no need to switch between full recording and publish preview.
- The video player moves more smoothly when it sticks to the top of the page as you scroll through the upload details.
0.1.23
- On the upload review page, the video player now starts below the title as usual. When you scroll down on a wide screen, it moves to the top-right corner and stays visible while you work through the transcript and publish settings.
0.1.22
- On the upload review page, the video player now stays visible in the top-right corner while you scroll through the transcript and publish settings on a wide screen.
- The publish range controls now sit directly below the video, so you can set start and end times while watching the recording.
0.1.21
- When you set a publish trim, the transcript grays out everything that will not go to YouTube or Vimeo, so you can see exactly what you are keeping.
- Retrying a failed upload is less likely to get stuck when a retry is already queued in the background.
0.1.20
- Choose what part of your recording goes to YouTube or Vimeo before you publish — trim to the sermon without uploading a separate file.
- Preview the full recording next to what will publish, so you can confirm the cut before it goes live.
- Jump to sermon segments or pick a range from the transcript to set your publish window quickly.
- Source files are kept for review and download for 7 days, then removed automatically by our storage lifecycle (the per-org retention setting was removed).
0.1.19
- Click a section on an upload (worship, sermon, announcements, and more) to jump the video and transcript to that moment — from the timeline strip or the sidebar list.
0.1.18
- Speaker memory. Uploads can now recognize a voice from a past sermon and suggest who it is. Confirm the match on the upload page, or edit names and merge duplicates from the Speakers page.
- Title alternatives. When naming finishes, pick one of three suggested titles or type your own in the sidebar. Your choice carries through to publishing.
- Dashboard assistant. A new Assistant page in the sidebar answers questions about reviewing transcripts, titles, clips, and publishing.
- Team roles. The Team page now explains what owners, admins, and members can do. Invite copy no longer mentions unrelated products.
- Pricing. Public and billing copy now shows $19/org so it is clear each church workspace is billed separately.
0.1.17
- Upload pages update live again. Transcripts, processing status, and publish progress now appear as they happen — no need to refresh to see where an upload is.
- The notifications bell updates on its own when a transcript is ready or a clip finishes.
0.1.16
- Creating a new organization works again. Add another church or ministry and you'll be taken straight into it.
- Switching between your organizations now reliably lands you in the right one.
- Pricing now makes clear it's billed per organization — each one you add is its own subscription, and a single login can manage several.
0.1.15
- AI Shorts clips: get suggested moments from your transcript, render them with one click, and preview vertical clips in the dashboard. Highlight any passage in the transcript and choose Create Short from selection for a custom clip.
- Title alternatives: when naming finishes, pick among three suggested titles from the upload sidebar before you publish.
- Transcript search on the upload detail page — find phrases quickly with highlighted matches.
- Team is now in the sidebar, so inviting volunteers no longer requires a hidden URL.
- A notifications bell tells you when a transcript is ready for review or a clip finishes rendering.
- Disconnect YouTube, Vimeo, or Google Drive from the Connections page anytime.
- Owners can set how many days source files stay in storage after publishing (default 7 days).
- Billing page and plan-limit banners are in place for when paid plans go live.
0.1.14
- You can now delete an upload from its detail page. The trash button next to the publish actions removes the upload, its transcript and clips, and the original file in storage. Anything you've already published to YouTube, Vimeo, or a podcast feed stays live on those platforms and needs to be removed there separately.
- If you try to delete an upload that's been published as a podcast episode, you'll now get a clear message telling you to remove the episode first — no more cryptic error.
- Cmd-Backspace (Ctrl-Backspace on Windows/Linux) opens the delete confirmation when you're on an upload's detail page, so you can clean up quickly without reaching for the mouse.
- If someone on your team deletes an upload while you're looking at it, your page now returns you to the uploads list with a quick note instead of leaving you on a stale screen whose buttons would fail.
- If you delete an upload that was still uploading in another tab, the upload progress now ends with a clear "upload was cancelled" message instead of a confusing "not found" error.
0.1.13
- Watching a newly processed upload is smoother now: the video no longer jumps back to the beginning while the page catches up with status and transcript updates.
0.1.12
- Upload pages now stay in sync more smoothly as a service moves from upload to processing, so status updates and new transcript content show up without extra page juggling.
- Starting a new upload now opens the upload page in place, keeping the back button focused on where you were before the upload instead of stepping back into the upload picker.
- The login code field is less likely to be covered by browser password tools, making one-time code entry easier on shared production laptops.
0.1.11
- When you click the scan button on a watched Drive folder, you'll now see it spin while the scan is running and get a quick toast telling you how many new files it imported — instead of clicking and wondering whether anything happened.
- If a scan fails, the message tells you what went wrong and there's a one-click "Try again" right next to it.
- Watched Drive folders no longer miss files when a lot land at once. Dropping a dozen sermons into the same folder in one morning will now bring all of them in, not just the most recent batch.
0.1.10
- When you start a new upload, we now take you straight to the upload's detail page so you can watch progress alongside the first-frame preview, status, and transcript as everything comes in — instead of waiting on a small bar in a popup.
- Uploads keep going if you click around. Opening another page mid-upload no longer cancels the transfer.
- Cancel is right on the upload page now, next to the live progress bar.
- Watched Google Drive folders are now scanned in the cloud once a minute, so new sermons get picked up even when your studio Mac mini is asleep or offline. The mac-mini still handles the actual download; detection no longer depends on it being awake.
0.1.9
- Uploads brought in from a watched Drive folder (or any upload that arrived without a browser-captured preview) now get a first-frame thumbnail automatically the first time they're processed. The dashboard list and the upload detail page show a real preview instead of a film-icon placeholder.
0.1.8
- Uploads that don't have a preview image (older uploads and files brought in from a watched Drive folder) now show a small film icon in the list so the row no longer looks like a broken thumbnail.
0.1.7
- Drop a file into the uploader and a preview image of your video now appears almost instantly — on the upload page and as a thumbnail in your uploads list — so you can see we got it while the file is still saving.
- New files from a watched Google Drive folder show up in your uploads list right away, instead of waiting up to a minute for the next check.
- Live status updates on the upload page no longer miss a step. If your video moves from "saving" to "transcribing" during the same second you opened the page, the status now catches up automatically.
0.1.6
- When you pick a Google Drive folder to watch, the card now shows "Last polled just now" right away instead of "never" — so it's clear the folder is already being tracked.
- After importing files from an existing Drive folder during setup, you're taken straight to the first file's upload page so you can watch it process. Multiple files at once still go to the first one.
0.1.5
- Watched Google Drive folders now run end-to-end. Until this release, dropping a new video into a watched folder — or clicking "Import existing files" — added the row to your dashboard but the file never made it through to transcription. The pipeline now copies the file straight from Drive into our storage in the background, so the recording moves from "Received" through transcription on its own. Multi-gigabyte service recordings are streamed in chunks, so larger files no longer get stuck.
- New "Retry intake" button on the upload page when a watched-folder import is taking too long or hits an error. One click re-runs the Drive copy without making you re-import the file from scratch.
0.1.4
- Watched Google Drive folders now actually pick up your videos. The previous version of the watch folder could see the folder but not the files inside it, so the "import existing files" dialog was always empty and new recordings dropped into the folder were silently skipped. Reconnect Google Drive once after this update and you'll be asked to grant read access to your Drive — after that, your watched folders start finding videos right away.
0.1.3
- Watched Drive folders now find more of your videos. Folders that live in a shared (Team) drive will now list their contents correctly, and video files that Drive doesn't recognize by type — common with fresh uploads — are now picked up by both the "import existing files" dialog and the background watcher.
0.1.2
- Pick which existing files to import when you start watching a Drive folder. Right after you choose a folder, we now show you every video already inside it so you can tick the ones you want to upload right away. New files added to the folder later still get picked up automatically.
- Clearer icons on the watched folder list. Hover any of the three icons next to a watched folder to see what they do: scan the folder now, pause or resume watching, or stop watching the folder entirely.
0.1.1
- One-screen setup. Connect YouTube and Vimeo right from the dashboard, drop your first service, and publish — no jumping between pages to finish onboarding.
- Back up every upload to Google Drive. Pick a Drive folder once; from then on, a copy of every new upload lands there automatically. Runs independently of YouTube and Vimeo, so your raw recording is safe even if a publish fails or you're not ready to send it out yet.
- Auto-ingest from a Drive folder, now an optional setup step. If your team already drops Sunday recordings into a known folder, point us at it and we'll pick them up as they appear.
- Privacy-first Drive access. When you connect Google Drive, we only see the folders you explicitly pick — your other Drive contents stay private.
- "Destinations" is now "Connections." The page handles both where uploads go (YouTube, Vimeo) and where they come from (watched Drive folders), so the new label fits what the page actually does.
- Same-folder safety. A Drive folder can't be set up as both a watch source and a backup destination on the same account — we'll catch the conflict before it loops files endlessly through the pipeline.
0.1.0
- Initial release. uploads.run turns a raw Sunday service recording into a private YouTube draft, ready for review Monday morning.
- Drop the full file. 3–14 GB Sunday service videos land in the inbox with no upload caps and no surprise bandwidth bills.
- Automatic section detection. Each service is split into opening worship, announcements, prayer, sermon, and closing — so the sermon is one click away from publishing.
- Speaker recognition across weeks. Once we've heard your pastor, we recognize them in future services without re-training.
- Suggested titles and clips. The review screen proposes a title and a shareable clip pulled straight from the sermon.
- One-click publish to YouTube. Push the service as a private YouTube draft, then mirror to Vimeo from the same screen.
- Volunteer-first review flow. Built for the one volunteer running media on Sunday night — not a content team.
- $19/org, flat. No per-seat fees, no platform markup on every gigabyte.
- Changelog page. This page. Future releases land here.