Photo prepared for one bar of signal

Photos under the ceiling upload byte-for-byte; oversized ones are scaled to a 3000px long edge at q0.92, with rotation baked in and HEIC converted.

What it is

A client-side preparation step that avoids touching a photo unless it has to, and when it must, cuts resolution before quality. It decodes with imageOrientation from-image so EXIF rotation is baked into pixels, and reports what it did to the confirm screen.

Also called: photo too big to upload · HEIC won't open · sideways photos · compress jobsite photos

See it
Photo prepared for one bar of signal
🔒ridgelinepostframe.com/project/photo-120
Riding Arena
Framing · on schedule
The confirm screen's small line 'Resized for upload · 8.4 MB → 2.1 MB' beneath the preview. Sample data — no customer information appears here.
How it works
  1. 1If the file is under the size ceiling it is uploaded unchanged — no re-encode, no generation loss.
  2. 2Over the ceiling, the long edge is scaled to 3000px and re-encoded at quality 0.92.
  3. 3createImageBitmap with imageOrientation 'from-image' bakes rotation in before the canvas strips EXIF.
  4. 4HEIC that goes through the re-encode path comes out JPEG; a small HEIC is left alone.
  5. 5The confirm screen shows 'Resized for upload · 8.4 MB → 2.1 MB' or 'Full quality · 1.8 MB'.
  6. 6The server still enforces a hard 15MB ceiling and an allow-list of image types.
Why we built it

Full-resolution phone photos sent from a site on one bar of signal either fail outright or take long enough that the crew stops bothering — but crushing them destroys the only pictures the company will ever have of its own finished work. Resolution is cut before quality is: the long edge is capped at 3000px, which still prints a 10x7 inch photo at 300dpi, at a quality setting above where compression artefacts start showing in flat areas like sky and concrete, which is most of what a barn photo contains. Photos already small enough are left untouched. Rotation is read off the original and re-applied, because re-encoding strips the tag phones use to record that a picture is sideways.

The problem
  • Uploads failing on poor signal because of raw phone photo sizes.
  • HEIC files unreadable by most software.
  • Rotation lost when a canvas re-encode strips EXIF.
  • Needless quality loss on photos that were already small enough.
Sound familiar?
What you get
Uploads survive a bad connection.
Photos stay good enough for print and marketing.
Portrait shots arrive the right way up.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →