Johnny Hu Johnny Hu
Work
COMPUTER VISION / PHOTOGRAPHY

J&S Photo Studio

Fifty thousand frames to sort,
and without a tool that means one at a time.
So I wrote one.

J&S Photo Studio
London
Role Design, engineering, photography
Built with Canvas API · Laplacian variance · React Native
Status In daily use

Why

A single shoot runs to a thousand frames.
Culling takes longer than shooting,
and most of that time goes on discarding the obviously unusable —
camera shake, blown highlights, closed eyes.
A machine can judge those.

How

Sharpness from the variance of a Laplacian;
exposure from mean luminance.
Pure front end, one HTML file, no backend —
the photographs never leave the browser.
The mobile build carries it further: scan the album,
draft the caption, post to Instagram.

What it taught me

The first version silently skipped every file the browser could not decode,
and reported the input count as analysed.
On Chrome that meant every HEIC — a third of a library —
vanished without a trace.
For a culling tool that is the worst possible failure:
the frame is simply never offered.

0 photographs uploaded to a server
1 HTML file, nothing to install
50k frames in real use