← slowmotionbirds.com  ·  field notes

The
Workflow.

Everything between pressing record and a finished film is becoming a pipeline. This page is its paper trail: every stage, what is real today versus where it ends up, updated and versioned every time something changes. If anything ever breaks, or the thread ever gets lost, this page is the recovery map.

v1.2.0 · Updated Sun / 2026-08-09 / 3:05 PM CT

The loop, end to end

live built + tested designed waiting on input future
1

Shoot live

Sony a7S III, 4K 120fps, second base ISO 12,800, shutters 1/1000 to 1/4000. Settings come from the Light & Lens Calculator. This step stays human forever; it is the fun part.

Future: unchanged.
2

Card dump waiting on storage move

Today: files copy to an archive drive by hand. The storage consolidation in progress puts everything on network storage that every machine sees identically.

Future: drop the card folder in one place, done. A watcher notices new sessions on its own.
3

Timeline assembly live

Nobody dumped clips by hand this time: the pipeline built two full session timelines from their folders on 2026-08-09 (55 and 83 clips), every clip in recorded order, slowed to 20%, audio attached, by cloning Premiere's own file structures.

Future: nobody assembles timelines. That future started today; it just needs to happen for every new session automatically.
4

Unmonitored analysis running through the archive

The detection engine (a Python system called birdselects) watches every frame at low resolution: background modeling, painted zones per camera setup, motion scoring, event logic with pre-roll and post-roll handles. It runs unattended against the archive, so nothing interrupts it. After passing its test suite, it chewed its first REAL session on 2026-08-09: all 55 clips of the Dec 30 window double-feeder session (59 minutes of 4K120), finding 69 candidate events in a maskless shakedown pass and producing the first contact sheet. Every clip's motion scores are cached, so re-tuning replays in seconds forever.

Every analyzed session publishes its proof sheet to Contact Sheets. Future: every new session analyzed the day it lands, as an unmonitored run, with painted zone masks per setup (the shakedown passes run maskless on purpose). Spec: AUTOMATION-SPEC.md in the project folder.
5

Grading, 0 to 5 provisional live

Every stretch gets a level from the footage ladder: dead air to banger. Two real graded runs happened 2026-08-09, and the first one taught the day's big lesson: a motion score cannot tell a bird from a swaying camera, so the top grades of a braced-handheld session were all camera moves. A stillness audit of the whole archive followed (instant motion plus five-second drift, per folder), and the second run graded a verified tripod-locked session: 72 events banded provisionally (4 bangers, 11 strong, 28 keepers, 29 ambient). Provisional means exactly that: the bands are a percentile stand-in until the real level signatures calibrate, and every marker says so.

Calibration runs now happen only on camera-fixed sessions, confirmed folder by folder before any run. Future: signature-based levels (interaction bursts, hover, size diversity), accuracy tracked here per camera setup.
6

The graded timeline returns first real delivery

A new sequence appears in Premiere: the untouched original on track 1, and every graded moment lifted to the track matching its level, V2 through V5, with markers and a thumbnail contact sheet. The original is never edited by software; the worst any bug can do is make a bad duplicate.

Delivered twice for real on 2026-08-09. The second delivery is the keeper: a tripod-locked 83-clip session as a LIFTED five-track sequence, meaning every graded span moved up to its level track and V1 keeps only what was not lifted, gaps and all, exactly the way selects get bumped up a track by hand. Every frame exists once, audio can never double, and re-exporting verified all 15 tracks frame-exact. Zoomed out, the timeline reads as a quality histogram: tall stack means good stretch.
7

Review = training designed

Reviewing means watching the top tracks and dragging anything misgraded up or down a track. The system re-reads the reviewed timeline and adjusts its thresholds. Ordinary editing is the calibration; there is no separate feedback chore.

The first real training material now exists: every clip dragged to a different track in the graded tripod-session sequence becomes calibration data the moment it is re-ingested, and the lifted track shape makes that drag the entire review gesture. Future: each review measurably sharpens the next night's grades.
8

The daily 60-second clip future

The best of the newest footage, cut to about a minute, in two versions. Version one: clean, no captions, silent, because Instagram supplies licensed music in-app at posting time. Version two: translucent captions carrying real facts about the exact birds on screen (species identification with confidence gates, facts drafted with sources, human-checked), music baked in from the licensed library for YouTube.

Depends on the species phase; the cut-selection math already exists in the level system.
9

Publish future

Drafts land finished: YouTube upload staged with title, description, and chapters; the Instagram pair sitting in a folder the phone reaches. One tap approves and it goes live; Instagram stays a manual phone upload by design. Fully hands-off publishing without the approval tap exists as a switch, deliberately off until flipped on a calm day.

Future: the card dump on Monday becomes the post on Tuesday, one tap in between.
10

The archive sweep future

Three years of backlog: feeder seasons, snow days, and travel footage from around the world, run through the same pipe, graded into the same ladder, feeding films and daily clips for a very long time.

Future: the backlog becomes a queue, not a burden.

Current state, plainly · 2026-08-09

Changelog

v1.2.0 (2026-08-09, 3:05 PM): The day's second graded sequence is the real keeper, built the way editing actually works: spans LIFTED to their level tracks with V1 keeping only the remainder (one copy of every frame, audio can never double, drag up to promote and down to demote). It came from a verified tripod-locked session, because the morning taught that motion scores cannot tell birds from a swaying camera: a stillness audit now screens every folder (instant motion + five-second drift), the exact source folder is confirmed by name before any run, and the first run's top grades, which were all camera moves, became the cautionary tale. Also caught by verification: a path bug that pointed a whole import at the wrong folder now has a permanent guard.

v1.1.0 (2026-08-09, 12:15 PM): The first REAL graded sequence exists. Stages 3, 5, and 6 all go live at once: the pipeline assembled the whole Dec 30 session timeline from its folder (55 clips, no hand assembly), graded all 69 detected events provisionally by within-session motion-score percentiles (4 bangers, 10 strong, 27 keepers, 28 ambient), and delivered a five-track sequence into a fresh Premiere project with stereo audio paired per level and 138 leveled markers. Re-exporting the imported sequence verified every track frame-exact. One honest asterisk: Premiere 26.2.2 turns out to ship no built-in script surface (no Scripts menu), so the green/red marker color pass waits for a script host; markers carry their level in the name meanwhile. Review of this sequence is now the first real training data for the grading loop.

v1.0.5 (2026-08-09, 10:50 AM): Stage 6 chip goes green: the Phase 0 round trip ran on the real Premiere and passed every check. Three test clips built into a 20%-speed timeline by the session driving Premiere itself, exported, parsed, and a selects sequence generated back by cloning Premiere's own structures: clean import, frame-exact selects (including one spanning an edit), stereo audio in sync, named markers, original untouched. Two dialect traps found and fixed in the generator: trims must land on the 5-frame conform grid or Premiere shifts them, and stereo span audio must ship as an exploded track pair or it doubles.

v1.0.4 (2026-08-09, 9:45 AM): "Overnight" retired from the vocabulary (runs happen whenever; they are unmonitored runs). Stage 4 renamed accordingly and now reads "running through the archive": the full-2024 batch crank started this morning.

v1.0.3 (2026-08-09, 9:20 AM): Contact Sheets went live as their own section: every analyzed session publishes its proof sheet to /contact-sheets/, named by its archive folder, indexed newest-first. Stage 4 links there; all site footers carry it.

v1.0.2 (2026-08-09, morning): Stage 4 went live for real: the engine's first full-session run finished (55 clips, 59 min of footage, 69 candidate events, maskless shakedown, all score streams cached), first contact sheet generated. Stage 4's chip is the first green on the board.

v1.0.1 (2026-08-08, later the same night): The footage folder got named and stage 6 moved from waiting to staged: the 2024 archive probed (4K 120fps HEVC 4:2:2, 3.5x realtime decode measured), test clips chosen, round trip queued as the next move. "Waiting on" list is empty for the first time.

v1.0.0 (2026-08-08): First edition of the workflow page: the ten-stage loop with live status chips, the two-version daily clip plan (clean for Instagram in-app music, captioned facts version for YouTube), the one-tap publish policy, and the archive-sweep end state. Same-day context: detection engine landed and tested; levels and calculator pages went live.