Shrinkr Windows video compressor
Windows only · local-first · no ffmpeg anxiety

Big video in. Sendable video out.

Shrinkr is a dead-simple desktop app for the everyday problem nobody should need a codec manual to solve. Drop in a bloated clip, pick where it needs to fit, and get a smaller MP4 that is ready for WhatsApp, email, Discord, or a cleaner laptop-safe archive.

Bundled ffmpeg + ffprobe 7 presets Batch queue up to 10 files Two-pass targets for size accuracy
Shrinkr desktop build
Drag videos here

The UI stays plain-English on purpose. You never see CRF values, codec jargon, or export clutter.

MP4 · MOV · AVI · MKV · WEBM · WMV · FLV · 3GP

Queue

recital_4k.mov 289 MB · 5:12 · 3840x2160
Shrink to 16 MB
meeting_clip.mp4 84 MB · 1:48 · 1920x1080
Shrink to 25 MB
Shrink 2 files to WhatsApp

2 videos · 373 MB · sendable on phones without a second thought

Optimal Laptop WhatsApp Custom
Quality 720p cap
Target 16 MB each
Mode Local encode

The product is the calm.

Shrinkr was designed around a very specific gap: ffmpeg scares normal people, and classic transcoding tools feel like aircraft dashboards. The app keeps the useful parts of that power, then strips the rest until the workflow is drag, choose, save.

Problem

"This video is too large to send."

The common failure case is not professional editing. It is someone trying to share a clip with family, email a meeting recording, or post a game capture where the size limit is the real enemy.

Approach

Friendly presets instead of technical switches.

WhatsApp, Email, Discord, Optimal, TV, Laptop, and Custom cover the real intent. The interface talks about outcomes, not bitrates.

Constraint

No cloud, no account, no waiting on uploads.

All encoding happens locally on Windows. Original files stay untouched. The app works offline because a basic utility should not depend on someone else's servers.

Three steps. No detours.

The core loop in the PRD is intentionally narrow: load a video, choose what it needs to fit, and save the smaller result. Everything else exists only if it reduces friction around that loop.

01

Drop or browse

Add one file or a short queue. Shrinkr probes the duration, size, and resolution so the app can explain what is being compressed without exposing raw ffmpeg internals.

02

Pick the destination constraint

Choose WhatsApp, Email, Discord, or a quality-oriented preset like Optimal or Laptop. Custom mode adds a plain MB target and a three-stop quality slider.

03

Shrink, track, save

Encoding progress stays readable with per-file and total progress, cancel support, and a clean completion state that shows exactly how much space was saved.

16 MB Default WhatsApp target in the product requirements.
25 MB Email and Discord free-tier friendly preset size.
10 files Maximum batch queue per session for the v1 interface.
0 cloud Telemetry, uploads, and accounts are not part of the core product.

What the current build already expresses.

The shipped desktop UI and engineering PRD point to a product that is broader than "shrink for WhatsApp" but still disciplined enough to remain a utility instead of a media suite.

Presets

Intent-based compression

  • Optimal for general cleanup
  • TV for bigger screens and YouTube-safe quality
  • Laptop for practical everyday viewing
  • Size targets for WhatsApp, Email, Discord, and Custom
Batching

Sequential queue, not chaos

  • Multiple files in one session
  • Clear per-file status during encoding
  • Optional zip output for grouped exports
  • Partial success keeps completed files safe
Performance

Use hardware when it exists

  • NVENC, AMF, and QSV detection paths
  • Fallback to software H.264 when needed
  • Two-pass mode for size accuracy
  • Single-pass CRF for quality-led shrinking
Safety

Plain-English error handling

  • Corrupt or non-video files explained clearly
  • Original file never modified or deleted
  • Cancel support cleans up partial output
  • Permission and disk-full paths called out directly

Built like a Windows utility, not a content platform.

The technical choices follow the product discipline: Wails for a compact desktop shell, Go for process orchestration, vanilla HTML/CSS/JS for a one-screen interface, and bundled ffmpeg for offline reliability.

Architecture

Small stack, clear responsibilities.

The frontend handles state views, queue presentation, and user vocabulary. Go manages probing, ffmpeg execution, progress streaming, and hardware detection. The split keeps the product easy to reason about and avoids stuffing media logic into the UI layer.

  • Wails v2 desktop shell
  • Go backend for subprocess and file handling
  • Vanilla frontend with explicit state views
  • Bundled ffmpeg and ffprobe binaries
Principles

Every screen earns its keep.

The PRD is explicit about constraints: one screen, one primary action, one accent signal, and no hidden technical panels masquerading as helpful flexibility. That restraint is the main product feature.

  • No account flow
  • No telemetry requirement
  • No codec education burden on the user
  • No scope creep into editing, trimming, or creator-suite behavior