Skip to content

macOS · local-first · one-time purchase

Every reference you own, on one canvas.

Point Coii Ref at the folders you already keep images and video in. It indexes them where they sit, gives you one line of search across all of them, and puts them on infinite canvases. No library to import into, no upload, no account.

30 days free, no card · then $19 USD once · macOS 11+, Apple Silicon & Intel

Studio references — Lighting board

typeimagerating>=4tagany:portrait,studio

2 layers · grid snap

62%  ·  fit

  • Files never move

    Indexed where they are

  • No account

    Nothing to sign up for

  • No server of ours

    There isn't one

  • $19 USD once

    Updates included, forever

How it works

A folder on your disk, and three things done to it.

There is no import step, no cloud sync to wait for and no second app to install. Coii Ref is one process reading files that are already there.

  1. 01

    Point it at a folder

    Register the folders you already keep references in. Coii Ref walks them, reads dimensions, EXIF and colour, and writes thumbnails and canvas-resolution proxies beside your files. Images and video both.

  2. 02

    Find it in one line

    One typed string drives the grid, the saved views and the autocompleter. Every filter you type comes back as a chip you can delete, and a word it doesn't recognise is just free text — the grid never stops returning rows.

  3. 03

    Lay it out

    Drop anything onto an infinite canvas, from any folder at once. A canvas is a plain JSON file in your own folders, so it diffs, it syncs with whatever you already sync with, and it outlives this app.

The query line

One way to say each thing.

The same string drives the grid, the saved views and the autocompleter, and one registry is the source for both the parser and the suggestions — so the box can never offer you a filter the parser has never heard of.

Nothing you type is a hard failure. An unknown key becomes free text, a bad value becomes a chip marked invalid with a message beside it, and the results keep coming either way.

Search

  • type:video ext:movjust the clips
  • tag:any:portrait,studioeither tag
  • rating:>=4 -is:favouritegood, not yet starred
  • has:notes no:tagswritten up, unfiled

Features

Built for a collection you already have.

Forty thousand images across six drives, a folder someone else keeps renaming, a board you need to open again in two years — the awkward cases are the ones that shaped this.

Your folders stay your folders

Nothing is copied into a library of its own and nothing is renamed. The database, the thumbnails and the proxies all sit inside the folder you pointed at — so a workspace is portable, whatever backs that folder up backs all of it up, and moving it somewhere else moves the whole thing.

One line, not fourteen dropdowns

type:image rating:>=4 tag:any:portrait,studio -is:favourite. AND across keys, OR inside a comma list, and no parentheses — on purpose, because grouping is what makes a query impossible to autocomplete and impossible to draw as chips.

Saved views that cannot go stale

A smart view stores the text of a search and nothing else, and re-parses it every time you open it. Rename a tag and the view follows; there is no membership list to repair, because there is no membership list.

Canvases are files, not rows

Something.coii-canvas, JSON, pretty-printed, sitting in your own folder. Version-control a board, hand one to somebody, or open one on a Mac that has never seen your library.

It notices what you do in Finder

The watcher turns filesystem events into the smallest re-scan that makes the database true again — renames, moves, deletions, a volume that came back. It keeps running after the trial ends, because a library that quietly lies is worse than one that asks you to pay.

Coming from refern

One importer, and it carries across the part that is not already in your files: ratings, tags, notes and canvases, matched by relative path rather than by id. Your originals are neither moved nor rewritten — everything under a folder is indexable on its own, so an import only has to add what a folder cannot hold.

What it sends

Four rows. None of them carries a picture of yours.

“Private” is easy to write on a page, so here is the complete list instead — every connection the app can make, and the one row that says what it never does.

  1. 01

    When you press Activate

    Lemon Squeezy receives your licence key, and a device label when you activate. At most three times per device — one check, one activation, and one more if you ever deactivate.

  2. 02

    While the trial is running

    A HEAD request to cloudflare.com, read for its Date header only, so a wound-back system clock cannot buy free days. It carries no identifier. Offline is not an error — the trial then runs on your own clock.

  3. 03

    Whenever the app is open

    The interface is a page served from 127.0.0.1 and rendered inside the window. That traffic never reaches an interface that could carry it off the machine.

  4. 04

    Everything else

    Nothing. No analytics, no crash reporting, no usage statistics, no advertising identifiers, and no update check — the app has no in-app updater, so it contacts no release server.

Once you are licensed there is nothing left on that list at all: opening the app with the network off does everything it does with the network on.

Read the privacy policy

macOS only, and not as a stage on the way somewhere.

Every decode is delegated to tools macOS already ships, the window is a WebKit view, and your licence is mirrored in the login keychain. Each of those is a rewrite on another platform rather than a build flag — so rather than put a row on this page that would quietly mean “the same app with its best parts missing”, there is no such row.

Apple Silicon and Intel are two separate builds for the same reason: each is compiled and tested on its own machine, and a cross-compiled half is a half nobody ran a test on.

Pricing

One price. The whole app. Yours to keep.

Thirty days with every feature unlocked, no card and no account. Then $19 USD, once.

Personal licence

$19USD once

Not a subscription. Nothing renews.

  • Every feature — there is no higher tier
  • 3 devices, and you free a slot yourself
  • Every future version included
  • Commercial use, including work you are paid for
  • 30-day trial first, no card and no account
  • Everything indexed stays searchable even if you never buy
Start the 30-day trial

You can buy from inside the app at any point in the trial.

Secure checkout via Lemon Squeezy, our merchant of record. Cards and more, tax handled, invoice included.

Lost your key? Lemon Squeezy’s My Orders mails it to you again — sign in with the address that bought, no email to us required.

Questions

The ones worth asking first.

Does Coii Ref move, rename or copy my files?
No. It reads your files where they already are and writes its own artifacts beside them — thumbnails, canvas-resolution proxies and one SQLite file in the folder you pointed it at. There is no library to import into and nothing is uploaded, because there is no server of ours to upload to.
What exactly stops when the 30 days are up?
One category of action: deliberately growing the library. Registering a new folder, running an importer and starting an indexing pass by hand are refused. Nothing that reads is touched — search, the query language, tags, smart views, canvases, thumbnails and export all keep working, for good. The folder watcher keeps running too, so a file you rename in Finder does not turn the database into a liar.
Is there an account to create?
No. No sign-up, no email, no licence check at launch. The 30-day trial starts when you first open the app and asks for nothing — no card, no registration, nothing to cancel.
Is it a subscription?
No. $19 USD once, and every version after that is included. There is no renewal and no seat. An activated copy works indefinitely with the network off — after activation the app never contacts the licensing service again.
What does it write into my folders?
coii-db.sqlite and its journal, plus coii-thumbnails/, coii-proxies/, coii-backups/ and your canvases. All of it sits inside the workspace folder rather than in a hidden Library directory, which is what makes a workspace portable: whatever backs that folder up backs the whole thing up, and moving the folder moves the workspace with it.
Are canvases a file, or a row in a database?
A file — Something.coii-canvas, JSON, pretty-printed because these live in your folders and often under version control. That means they diff, they sync through whatever you already sync with, and they outlive this app.
Why macOS only?
Not a portability gap waiting to be closed. Every decode is delegated to tools macOS ships, the window is a WebKit view, and the licence state is mirrored in the macOS keychain. Each of those is a rewrite elsewhere rather than a build flag, so there is no honest Windows or Linux row to put on this page.
I have a refern library. Can I bring it across?
Yes, and it is the only importer there is. Index the folder as a workspace first, then the importer carries over the part that is not in your files — ratings, tags, notes and canvases — matched by relative path rather than by id. It never moves or rewrites anything of yours.
How many machines does one licence cover?
3. You free a slot from the Mac that holds it — Settings → Deactivate this machine — which is worth doing before you wipe or sell it. Lemon Squeezy cannot release a slot from a browser, so if a Mac is already gone, email us and we will raise the limit rather than leave you short a device.
Who am I actually buying from?
Lemon Squeezy is the merchant of record: it takes the payment, issues the invoice, and handles VAT, GST and sales tax. The licence to use the app is granted by Riff Tech, Inc.. Your card statement will say Lemon Squeezy.

Your references are already on this Mac.

Point the app at one folder tonight and see the whole thing on a canvas before you decide anything.