Sarajevo · working worldwide .shock Suite — software for photographers →
Culling a commercial shoot with .cull.shock

.shock Suite · cull Available now

.cull.shock

Score 6,000 frames in a sitting.
Zero uploads, zero installs.


Interface

The cull pass — in your browser.

Interface mockup — replace with a real screenshot when available. Scores, clusters and pre-selects keepers.

The outcome .cull.shock delivers.

You shoot a 4-hour corporate event and come back with 900 frames. .cull.shock scores and clusters them in under 3 minutes, surfaces the 40 picks, and hard-rejects 200 soft shots — before you've poured coffee. It groups near-identical frames by scene, model, pose and lighting so you confirm the strongest shot in each cluster rather than sorting through every frame by hand. As you confirm or override its calls, it builds a scoring profile around your eye.

One-pass throughput

Loads a full day's take without freezing — no preview generation step, no import queue.

Scene and pose clusters

Near-duplicates sit side by side. Pick the strongest frame in a group rather than comparing 14 near-identical shots.

Automatic soft rejection

Sharpness, motion blur and focus miss are scored and hard-rejected automatically — you never sort a blurred frame.

Taste learning

It watches which technical features mark your keeps versus your drops and adjusts scoring weights for the next batch.

Pipeline hand-off

Confirmed keepers flow directly to .edit.shock through the shared library — no manual export between cull and edit.

XMP export

Export a sidecar XMP for Lightroom or Capture One so the selection carries into your existing post-production workflow.


Under the hood

What actually runs when you drop frames in.

Most browser-based tools block the UI while they score your frames. .cull.shock offloads the entire analysis to a Web Worker so the pipeline runs on a separate thread — the grid stays responsive while scoring happens. The analysis runs on your machine, not a server. No account required to process frames, and no file ever leaves your browser.

  • Laplacian variance sharpness — detects blur, motion and soft focus at a per-frame level, not just by comparing similar frames.
  • EXIF-aware scoring — reads ISO, f-number, shutter speed and focal length directly from the file so scores account for the exposure context.
  • Skin-tone heuristic — portrait-heavy culls are scored with awareness of subject presence, not just sharpness and composition alone.
  • Gradient composition centroid — detects where the visual mass of the frame sits; off-centre and motion-blur frames score lower.
  • Average-hash deduplication — 8×8 perceptual hash clusters near-duplicate frames even when exposure varies across a burst.
  • Dual-screen review mode — main display for the grid, second display for full-resolution confirm, with no configuration required.
  • Crash-safe incremental saves — scores are written to IndexedDB frame by frame, so a browser crash mid-session loses nothing.

Built for the photographers who need it.

Commercial event photographers

You come back from a 6-hour corporate event with 900 frames and need 40 hero picks delivered by end of day. .cull.shock takes the first pass so you only confirm, not sort.

Microstock and editorial shooters

Your day runs 5,000–7,000 frames across multiple scenes and the first bottleneck is always sorting. .cull.shock groups by scene and learns from your commercial selection history.

Fashion and portrait studio

Burst-heavy fashion sessions produce hundreds of near-identical frames per look. The skin-tone heuristic and pose-cluster scoring surfaces the strongest frame in each series without manual comparison.

Where .cull.shock fits.

.camera.shock .cull.shock .edit.shock

On the main line — once the frames are in, before edit. Only the frames worth processing carry forward to .edit.shock. Built in the spirit of taste-based culling; .cull.shock is its own tool and is not affiliated with Aftershoot.

What you get on each plan.

Free 100 frames / mo Try a small shoot
Starter 500 frames / mo ~1 half-day event
Studio Unlimited frames Full daily volume
Agency Unlimited frames Multi-photographer

Compare all plans


Questions

Frequently asked.

Does .cull.shock work offline?

Yes. All processing runs in your browser via Web Workers and a WebGL2 GPU pipeline. Your files never leave your machine — no upload, no cloud dependency.

What image formats are supported?

Any format your browser can decode: JPEG, WebP, PNG, AVIF, and HEIC on supported browsers. RAW file support (.CR3, .ARW, .NEF) is on the roadmap for a future release.

How does taste learning actually work?

Every keep and reject you confirm is stored locally in your browser. .cull.shock tracks which technical signals — sharpness, exposure level, composition centroid, skin-tone presence — consistently appear in your picks versus your drops, and shifts the scoring weights for the next batch so its pre-selection aligns closer to your eye over time.

Does it need to be installed?

No installation required. .cull.shock runs in Chrome or Edge via the File System Access API — open a browser tab and drop your folder. A standalone desktop build is on the roadmap.

How does it compare to Aftershoot?

.cull.shock is browser-native and local-first: no upload, no separate cloud subscription, no separate application to install. Picks flow directly into .edit.shock inside the same browser session. Aftershoot is a standalone desktop application with its own cloud backend. The two are not affiliated; the comparison is offered as context.

From 7,000 frames to 40 picks — before end of day.

Part of the .shock Suite — one workflow from brief to paid.

Get notified when the Pro plan launches — no noise, unsubscribe anytime.