Skip to content

The week before a shoot is usually when the reference folder gets messiest, not cleanest: location scouts dropped in from a phone, lighting stills saved from three different sources, a client's own mood images forwarded over email, and whatever you shot on a location visit last month. None of it arrives tagged, and there's rarely time before call sheets and gear lists to build a proper system for it. The workflow below doesn't ask for one. It assumes the references land in a folder exactly as messy as they already are, and gets a usable board out of that folder in the time you actually have.

The instinct under deadline pressure is usually to open a shared folder or a messaging thread instead of a proper library, on the theory that a system takes longer to set up than the shoot leaves time for. That's true if "system" means a new folder scheme with subfolders per lighting setup and a naming convention everyone has to remember. It isn't true of tagging a folder as it already sits and rating what actually matters — that takes minutes, not the afternoon a folder rebuild would cost, and it's the difference between a board you can find again in a year and a thread that scrolled out of relevance the week after the shoot wrapped.

A Dropbox link or a shared album solves "the crew can see the references," but it doesn't solve "next year, when a client wants something similar, I can find this specific set again." A link decays — the folder gets reorganized, the album gets archived, the person who set it up leaves the company — while a canvas sitting in the project's own folder, tagged to the shoot, is exactly as findable a year later as it was the day it was built. It's also not asking anyone to sign in anywhere: opening Autumn-campaign-day-3.coii-canvas needs nothing but the app and the folder it's sitting in, which matters on set when a client's phone hotspot is the only connection available and a cloud-hosted board just spins.

Step 1: Point one root at the folder the references are already landing in

Whatever folder is already catching the location photos, the lighting stills and the client's forwards — register that one, as it already sits. There's no import step that requires sorting first: Coii Ref reads the folder in place, generates thumbnails, and reads dimensions, EXIF and colour off each file without moving or renaming anything.

~/Pictures/Shoots/Autumn-campaign
  • Location scouts
  • Lighting refs
  • Client forwards
  • Selects
  • coii-thumbnailswritten by Coii Ref
  • coii-proxieswritten by Coii Ref
  • coii.dbwritten by Coii Ref
Four folders exactly as they already exist — nothing renamed or merged before the first pass reads them.

Step 2: Tag by shoot, not by subject

The fastest way to lose a reference set is to tag it the way you'd tag a general library — lighting, outdoor, portrait — because those tags apply to every other shoot you've ever done too, and a search for this week's references pulls in two years of unrelated work. Tag by the shoot itself instead: one tag per project, applied to everything that belongs to it regardless of where the file came from.

/tag:autumn-campaign rating:>=0
tagautumn-campaignrating>=0
34 items
Every file tagged to this shoot, location stills and client forwards together, before a single one has been rated.

A second, smaller vocabulary — golden-hour, studio-lighting, wardrobe-ref — can sit alongside the shoot tag for the details that do carry across projects. Keeping that vocabulary small and consistent is what keeps it useful two shoots from now instead of turning into a list nobody remembers the meaning of.

Step 3: Rate on a single pass through, don't sort as you go

Resist tagging and rating in the same motion. A first pass with just a star rating — this one, not that one — moves faster than stopping to decide a tag for every image, and it's the filter that actually matters when you're deciding what makes the board.

/tag:autumn-campaign rating:>=4
tagautumn-campaignrating>=4
9 items
The rating floor doing the narrowing — nine images worth building the board around, out of thirty-four.

Rating first and tagging the smaller set that survives is the same pattern that works for a general library, applied to a shoot that only has a few days to come together.

Step 4: Build the board from the rated set

Place the rated references onto a canvas — the file the crew and the client actually look at, rather than a folder someone has to click through one image at a time.

autumn-campaign-day-3.coii-canvas
The nine four-star references from step 3, arranged as the board that goes in front of the client, not a folder they'd have to open one file at a time.

Because the file is Autumn-campaign-day-3.coii-canvas — plain, pretty-printed JSON in the same folder as the references it points to — it travels with the project. Copy the shoot folder to a drive that goes to set and the board goes with it, openable on a laptop that has never seen this workspace before.

Step 4.5: Keep the client's references separate from your own scouts

A shoot's reference folder usually mixes two sources: what the client sent over, and what you or your team found or shot yourselves. Those are worth distinguishing with a source tag, not because the distinction matters artistically, but because it matters practically — when a client asks "where did that lighting reference come from," the answer should be a search, not a guess.

/tag:autumn-campaign tag:client-ref
tagautumn-campaigntagclient-ref
11 items
Just the references the client forwarded, separated from the team's own scouts by a second tag on the same shoot.

That same distinction pays off during the actual shoot too — a director or a client on set asking to see "the ones I sent you" is a filtered query instead of scrolling past everything else in the folder to find them again.

Step 5: Write down the details a tag can't carry

A tag says "golden hour." It doesn't say "the client specifically wants the rim light at the angle in the third scout photo, not the second." Attach a note to the file that detail actually belongs to, rather than inventing a one-off tag for it that will never apply to anything else again.

/tag:autumn-campaign has:notes
tagautumn-campaignhasnotes
5 items
Just the references carrying a specific instruction, out of the whole shoot's set — the detail a tag alone can't hold.

Step 6: Bring the actual shots back into the same workspace afterward

Once the shoot is over, the selects — the frames you actually took — belong in the same workspace as the references that led to them, tagged with the same shoot tag. This is what turns a one-off reference folder into a record you can search the next time a client asks for something similar: "more like the autumn campaign" becomes a query rather than a memory.

/tag:autumn-campaign -is:favourite rating:>=4
tagautumn-campaignnotisfavouriterating>=4
6 items
The frames from the shoot itself, filtered the same way the references were — same tag, same rating floor, one search reaching both.

Step 7: Find last year's version of this shoot when the next one comes up

The payoff for tagging by shoot rather than by subject shows up months later, when a client wants "something like we did last autumn" and the answer is a search rather than a guess at which drive that folder lives on.

/tag:any:autumn-campaign,spring-campaign added:<2026-01-01
tagany:autumn-campaign,spring-campaignadded<2026-01-01
61 items
Two past campaigns, searched together by name, regardless of which folder or drive each one's files actually sit on.

What this doesn't do

Worth saying plainly: nothing here generates a moodboard from a brief, and there's no browser extension to save images from a client's Pinterest board directly into the workspace — a reference has to already be a file on disk before any of the above applies to it. If the bulk of your pre-shoot references arrive as links rather than files, saving them locally is a step you still do by hand before this workflow starts. What the app adds after that point is search and arrangement across shoots, not collection from the web.

What happens if the shoot gets rescheduled or the brief changes

References collected for a shoot that then slips a month, or gets rebriefed entirely, don't need to be thrown out or re-collected — they need the tag to keep meaning what it meant. Because nothing about the tagging or the canvas depends on a specific date, a shoot tag survives a reschedule without any cleanup: tag:autumn-campaign still returns the same set whether the shoot happens in September or gets pushed to November. If the brief itself changes enough that half the original references no longer apply, rating the ones that are still relevant down and leaving the rest untouched is faster than deleting anything — a reference that isn't being used for this version of the shoot might still be exactly right for the next one.

What a second photographer or assistant actually needs

On a shoot with more than one person pulling references, the shoot tag does double duty as the onboarding step. Handing a new assistant the project folder and telling them to search tag:autumn-campaign gets them looking at exactly the right set within a minute, with no walkthrough of which of six subfolders holds what. That matters more on a fast-turnaround job than it sounds like it should — the alternative is a verbal briefing that has to be repeated for every new person who touches the shoot, and that briefing degrades a little every time it's given from memory instead of read off a tag.

Common mistakes worth avoiding

Tagging by subject instead of by shoot is the one that costs the most later — a golden-hour tag with no shoot tag attached to it becomes indistinguishable from every other golden-hour reference you've ever saved, and a query for this week's project pulls in two years of unrelated work. Rating and tagging in the same pass is slower than it needs to be; a rating-only first pass, then tagging only what survives, gets to a usable board faster. And waiting until the shoot is fully wrapped to tag the selects means the record that makes next year's version of this shoot easy to find never actually gets built — the tag takes thirty seconds the same day, and years to reconstruct after the fact.

A single campaign's board is a handful of tagged files. A few years of seasonal campaigns is a different problem — not because the workflow above stops working, but because the number of shoot tags grows into something you need a convention for. A YYYY-season-client naming pattern for shoot tags keeps tag:any: queries readable, and a date range on top of a tag — tag:autumn-campaign added:>2025-01-01 — narrows a recurring client's history down to the years that are actually relevant to what's being pitched now.

The workspace itself doesn't need restructuring as it grows, either. Because everything Coii Ref writes lives inside the folder you pointed it at, a shoot's folder full of scouts, lighting refs and the eventual selects stays one self-contained unit you can archive to a slower drive once the campaign is over, without breaking the tags, ratings or the canvas pointing at it. Reopening it a year later for the next brief needs no re-import — just reconnecting the drive.

That portability matters more for a studio running several shoots a year than the tagging convention does. A drive of archived campaigns, each one a self-contained folder with its own canvases and its own shoot tag, is something a new hire can be handed and searched immediately — there's no briefing required about where things "really" live, because the folder on the drive is the whole answer. Compare that to a studio's shared cloud album, where finding a specific campaign from three years ago usually means asking whoever still remembers which folder it ended up in.

The other thing worth planning for early rather than late is what happens when two campaigns genuinely do share references — a recurring client whose brand guidelines don't change season to season, say. Rather than duplicating the palette and style references into every new shoot's tag, a shared tag like client-brand-kit alongside each season's own tag lets a query pull in the constant material without copying files or re-tagging them each time a new campaign starts.

Where colour and lighting specifically are the thing driving a shoot, organizing by colour and lighting goes further into a tagging scheme for exactly that. And for the honest account of where a heavier, collaborative tool still has an edge — a shared board a client can comment on in real time, say — the comparison with refern covers what this app doesn't attempt to be.

Photographers specifically covers the wider workflow this fits into, beyond a single shoot. Or try it against your next shoot's folder — thirty days, every feature, no card and no account, which is enough to build one real board and see whether the tag-by-shoot habit is worth keeping.

Questions

Can I build a shoot moodboard without an account or internet connection?
Yes. Canvases and search both work fully offline, with no account — the only network requests the app makes are the licence check on activation and one read of a Date header at launch.
Does it pull mood or lighting references from the web automatically?
No. There's no browser extension or web clipper — a reference has to already be a file on disk before it can be indexed, tagged or placed on a board.
Can I search by the mood or colour of a reference instead of its tags?
Colour is read into the index, but there's no search-by-colour filter. Search works on type, tags, rating, notes and the metadata a file already carries.
Can I reuse one shoot's board as the starting point for the next?
Yes — a canvas is a plain file, so duplicating `Shoot.coii-canvas` and swapping plates is a file copy, not a rebuild.