Skip to content

Batch transcript #425

@Zidjr

Description

@Zidjr

Batch Transcript Processing

Feature Description

The ability to select and process multiple audio/video recording files simultaneously, either by selecting multiple files through the file picker, dragging and dropping a batch of files onto the app, or pointing Meetily at an entire folder and having it process every recording inside it sequentially.

Problem Statement

Currently Meetily only accepts one file at a time via drag-and-drop or file import. Users who have accumulated a backlog of meeting recordings — from Zoom, Teams, Google Meet, or any other platform — are forced to manually import, wait for processing, and repeat for every single file. For a user with 20, 50, or 100+ recordings, this is a friction-heavy, time-consuming process that defeats the purpose of automation. The value of Meetily is in eliminating manual meeting work entirely. A one-file-at-a-time import constraint reintroduces exactly that manual overhead for anyone catching up on a backlog.

Proposed Solution

Three-tier batch input support, in order of implementation complexity:

Tier 1 — Multi-file picker: Allow selecting multiple files simultaneously in the import dialog (standard OS multi-select with Shift+click and Cmd+click). Process them sequentially with a queue UI showing progress.

Tier 2 — Folder import: Add a "Import Folder" option that scans a selected directory for all supported audio/video formats (mp4, m4a, mov, webm, mp3, wav, mkv) and queues every file found for processing automatically.

Tier 3 — Watched folder: An optional setting where the user designates a folder (e.g. their Zoom recordings folder) and Meetily automatically detects and processes new files as they appear, without any manual trigger.

A batch queue panel should show: filename, status (queued / transcribing / summarizing / done / failed), and a progress indicator per file and overall.

User Story

As a professional who uses Meetily as their primary meeting intelligence tool,
I want to import an entire folder of past recordings and have Meetily process them all automatically,
So that I can catch up on a backlog of unprocessed meetings without manually repeating the import step for every single file.

Acceptance Criteria

  • User can select multiple files simultaneously in the import dialog using standard OS multi-select gestures
  • User can drag and drop multiple files at once onto the Meetily window and all files are queued
  • User can select a folder and have Meetily discover and queue all supported audio/video files within it
  • A batch queue UI is visible showing each file's name, current status, and completion state
  • Files are processed sequentially (not in parallel) to avoid overloading local Whisper/GPU resources
  • Failed files are flagged individually without stopping the rest of the queue
  • Each completed file produces the same output as a single-file import (transcript + summary + action items)
  • User can pause or cancel the queue mid-run without losing already-completed results
  • Supported formats include at minimum: mp4, m4a, mov, webm, mp3, wav

Technical Considerations

  • Sequential processing is preferable to parallel to avoid saturating the Whisper model and causing memory pressure, especially on machines without discrete GPUs
  • The folder scanner should be non-recursive by default (only top-level files) with an opt-in to scan subfolders, to avoid accidentally processing unrelated media files
  • File deduplication should be considered — if a file has already been processed in a previous session, the user should be warned rather than having it transcribed again, creating duplicate entries
  • For the watched folder feature, use OS-native file system events (FSEvents on macOS, inotify on Linux, ReadDirectoryChangesW on Windows) rather than polling, to avoid unnecessary CPU usage
  • Progress state should survive an app restart — if Meetily crashes mid-batch, the queue should be resumable
  • The batch queue should expose the same output directory/webhook settings as single-file processing so downstream automations (e.g. scripts watching an output folder) continue to work without modification

Alternatives Considered

CLI interface: A command-line mode (meetily --batch /path/to/folder) would solve the power-user case immediately without UI work. This is the fastest path to shipping and would unblock users who are comfortable with terminal usage while the full UI is built.

API endpoint: Exposing a local HTTP API that accepts file paths would allow users to build their own batch scripts or integrate with external automation tools. This is architecturally clean and composable.

Manual workaround via script: Users can currently work around this limitation by writing a script that calls Whisper directly on each file and feeds output to the Claude API for summarization. This works but requires technical knowledge and defeats Meetily's value proposition of being a turnkey solution.

The native batch UI remains the right long-term solution because it serves all users regardless of technical background.

Additional Context

This is the single most common friction point for new users adopting Meetily. The onboarding experience typically involves a backlog: a user discovers Meetily, installs it, and immediately wants to process weeks or months of existing recordings before going forward. The current one-file limit turns what should be a 10-minute onboarding into a multi-hour manual process.

Batch folder processing would also unlock use cases like end-of-week review workflows, team retrospectives across multiple recorded sessions, and research scenarios where hours of recorded interviews need to be transcribed and summarized in bulk.

Checklist

  • I have searched for similar feature requests
  • I have provided all required information
  • I have described the problem and proposed solution clearly

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions