Inspiration

Many online media tools add friction before solving the user's problem: they require an account, add a watermark, hide the download behind a paywall, or upload private files to an unknown server. We wanted a simpler workflow for everyday media tasks: choose a file, adjust a few clear settings, process it locally, and download the result.

That became Video Compress Kit, a free browser-based toolkit for compressing, trimming, cropping, and extracting media without sign-up.

What it does

Video Compress Kit currently provides six focused tools:

  • Video compression with quality and resolution controls
  • Image compression for common web formats
  • Audio compression with MP3 as the default output
  • Video trimming with precise start and end times
  • Video cropping and resizing with aspect-ratio controls
  • Audio extraction to MP3, M4A, AAC, OGG, WAV, FLAC, or WebM audio

The interface is available in English and Japanese. Users can choose a local file or import a public direct media URL when the source permits browser access. Media processing happens on the user's device, and the exported file has no watermark.

How we built it

The application uses React 19 and TanStack Start, with reusable shadcn/ui components for the interface. It is deployed on Cloudflare Workers.

Mediabunny powers the browser media pipeline. The app inspects primary video and audio tracks, validates the requested operation, creates the appropriate output container, and performs conversion locally. Optional MP3 and FLAC encoders are loaded only when the selected output needs them.

Each tool has its own workflow, controls, explanations, FAQs, use cases, and English/Japanese content. We kept the media engine shared while allowing each page to describe its actual task.

Challenges we ran into

Browser codec support and device performance vary significantly. A recent desktop can process a file that may exceed the memory available to an older phone. We set an explicit 500 MB limit and return clear compatibility errors instead of promising that every codec works everywhere.

We also needed to prevent incomplete exports. Before starting a conversion, the app checks discarded tracks so it does not silently return a video without sound or omit a required video track.

Multilingual SEO introduced another challenge: shared layouts can easily produce repetitive pages. We separated shared interface messages from tool-specific English and Japanese content, then added static checks for missing keys, duplicate sections, and incomplete review translations.

Accomplishments that we're proud of

  • Six working media tools in one consistent interface
  • Media files remain on the user's device
  • No registration, watermark, or daily limit
  • English and Japanese routes with canonical and hreflang metadata
  • Seven audio output formats, including MP3 and FLAC encoders loaded on demand
  • Direct public URL import with size limits, cancellation, and timeout handling
  • Responsive desktop and mobile navigation

What we learned

Privacy is strongest when it comes from the architecture rather than a policy sentence. If the service does not need the user's media file, there is less data to collect and protect.

We also learned that a focused tool needs focused content. Someone trimming a video has different questions from someone compressing an image, so changing only the page title is not enough.

Finally, honest limits create a better product. Browser media APIs are powerful, but clear errors and realistic boundaries are more useful than an untested list of supported formats.

What's next for Video Compress Kit

We are researching a video frame extractor for saving an exact frame or exporting images at selected intervals. We also plan to improve compatibility, add more task-oriented presets, and use real user feedback to decide which media workflows to build next.

Built With

Share this project:

Updates