Andrew Wevers · Photo workflow programs · macOS

The save is the delivery.

IngestFlow and FrameFlow move the files and sync the crew - selects, captions, athlete tags, and audits in one live library, on deadline.

01 · Why these exist

I built these because I was the one still at the desk at 1 a.m.

When the event ends, the photo editor's night is just getting started. I've run photo operations at tournaments where a five-day event produced over 210,000 frames - and the tooling always assumed one person, one library, one folder at a time.

In practice that meant editors passing folders back and forth and redoing each other's selects because nobody could see what anyone else had touched. It meant a person babysitting every upload - open the browser, find the collection, drag, wait, repeat - and hoping a network hiccup didn't silently drop a batch or push a half-written file mid-copy. And at the end of it all, someone still had to open the gallery in a browser and check athlete tags frame by frame.

None of that is editing. It's overhead, and it compounds every event. So I automated it.

02 · Ingest, without a human in the loop

IngestFlow

Saving a file is the entire delivery. IngestFlow watches the folders and servers your team already works from - the moment a finished frame lands, it goes where it's supposed to go.

  • Watch what you already usePoint it at your final-edits folder or incoming FTP. Editors keep working in Photo Mechanic or Photoshop - nothing new to learn.
  • Pick a destination onceChoose the target in-app - for ScorePlay, from a live search of your collections. No collection IDs, no keyword rigging, no setup calls.
  • Only complete files moveA completeness check holds each frame until it's fully written, so nothing uploads mid-copy.
  • Nothing lost, nothing doubledA sent-ledger prevents duplicates and pushes the backlog through after a dropped connection - with a record of exactly what landed.
IngestFlow FAQ & docs
IngestFlow dashboard - folder watch and destination picker
ingestflowwatch → verify → deliver · click to enlarge

03 · One event · one library · the whole crew

FrameFlow

The contact sheet becomes a shared surface. Any number of photographers and editors join one live session and work the same library at the same time - selects, ratings, captions, tags, sends, and audit state sync to everyone in real time.

  • Split by role, not by folderOne person culls, one edits, one captions, one runs the tag audit - same frames, same moment. No merge step, no folder syncing, no duplicated selects.
  • Photographers feed the session liveNew frames appear on every connected desk as they're transmitted from the floor.
  • Two-way sync with the platformSelects deliver to a collection in one click, captioned and athlete-tagged - then FrameFlow reads the delivered frames back, so the desk sees what's actually in the gallery and fixes a tag, caption, or metadata field from inside the tool.
  • The tag audit, solvedSunglasses, helmets, a bat across the face - automatic tagging fails exactly when sport gets interesting. FrameFlow diffs the platform's tags against the editor's sign-off, flags mismatched captions, and writes fixes straight back. One QA pass, for the whole team, no browser.
OK Review No players
FrameFlow FAQ & docs
FrameFlow live session - shared contact sheet with multiple editors
frameflowsession · live · click to enlarge
FrameFlow tag-audit view - OK, Review, and No players states
tag auditread back · diff · write back · click to enlarge

04 · Works with

Wired into the platforms photo desks already run on.

ScorePlay PhotoShelterPhoto MechanicFTP / SFTP

ScorePlay is a first-class destination, built on their open API as part of ScorePlay Connect. Delivery also runs over standard FTP/SFTP to any endpoint - including infrastructure I host and manage for clients.

05 · ScorePlay Connect Spotlight

Featured by ScorePlay

ScorePlay chose IngestFlow and FrameFlow as the first spotlight in their Connect partner series - an inside look at the tools, the problems they solve, and the API architecture underneath.

“We didn't, and it wasn't on the roadmap. So he built it himself.” - ScorePlay, Connect Spotlight · August 2026
Read the Spotlight on scoreplay.io

06 · In production

Not demos.

210,000+frames · one five-day event
53+events per year
4pro teams live today
0browsers opened for tag QA

Running week in and week out on the teams' own ScorePlay API keys - and on my own event coverage.

Utah MammothNHL
Houston AstrosMLB
Texas RangersMLB
Portland Timbers FCMLS

ScorePlay-connected deployment

07 · Licensing

Put them on your desk.

IngestFlow and FrameFlow are licensed per organization - no seat or desk caps - together or separately, with setup support for your first event. Hosted FTP delivery infrastructure and photo operations consulting also available.

Get in touch

08 · For the technical buyer

Under the hood

ScorePlay API call path - full API flow for IngestFlow and FrameFlow
scoreplay apirest · json · keychain auth · click to enlarge

Native macOS. Plain REST + JSON against the ScorePlay API - no SDK, no third-party dependencies. API keys stored in the macOS Keychain. FrameFlow sessions run entirely on the local network; nothing reaches the programs from the internet.