fineshyt
Install on Windows

Install fineshyt on Windows.

No command-line experience required. About 20 minutes, most of it download time.

This guide assumes you've never touched Docker before. If any step doesn't match what you see on your screen, check the troubleshooting section at the bottom.

What you'll end up with: fineshyt running in your browser at http://localhost:4000, reading photos out of a folder you choose, and storing its ratings and AI metadata in a database that lives entirely on your computer.

1 Install Docker Desktop

Docker is a tool that lets fineshyt run as a self-contained package without you having to install Elixir, Python, Postgres, and a dozen other things by hand.

  1. Go to docker.com/products/docker-desktop.
  2. Click Download for Windows. Run the installer.
  3. When it asks about WSL2, leave it checked. Reboot if it asks you to.
  4. After reboot, open Docker Desktop from the Start Menu and let it finish first-time setup. You'll see a whale icon in your system tray when it's running.

You don't need a Docker account — close the sign-in prompt if it bugs you.

2 Install Ollama

Ollama runs the AI vision model (LLaVA) that describes what's in each photo. fineshyt talks to it locally — nothing leaves your machine.

  1. Go to ollama.com/download, click Download for Windows, run the installer.
  2. Once installed, open PowerShell (Start Menu → type "PowerShell" → Enter) and run:
    ollama pull llava
  3. This downloads about 4 GB. When it says success, you're done.

3 Install Git

Git is how you'll download the fineshyt source. The tiny installer takes 90 seconds.

  1. Go to git-scm.com/download/win. The download starts automatically.
  2. Run the installer. You can accept every default — none of them matter for fineshyt.

4 Download fineshyt

This step uses PowerShell — Windows' built-in text-based command prompt. You probably haven't opened it before. That's fine; you only need three commands.

4a. Open PowerShell

  1. Press the Windows key on your keyboard (or click the Start button).
  2. Type PowerShell.
  3. Click Windows PowerShell when it appears at the top of the menu. (Don't click "PowerShell ISE" — that's a different tool.)

A blue or black window opens with a blinking cursor and a line that ends in >. That's the prompt — it's waiting for you to type a command and press Enter.

If you see "Command Prompt" instead of "PowerShell" in the title bar: that's a different tool. Close it and search for "PowerShell" specifically. The commands below assume PowerShell.

4b. Move into your Documents folder

Type this command and press Enter:

cd $HOME\Documents

cd is short for "change directory" — it moves you into a folder. $HOME is a shortcut PowerShell understands as "your user folder" (the same place your Documents, Pictures, and Downloads live). So this whole line means: go into the Documents folder.

What success looks like: the prompt changes to end with Documents>. No error messages. If you see cannot find path, you typed it wrong; try again exactly as shown above.

4c. Download (clone) fineshyt

Type this and press Enter:

git clone https://github.com/qweliant/fineshyt.git

git clone downloads a copy of the fineshyt project from GitHub onto your machine. It creates a new folder called fineshyt inside your Documents.

What success looks like: several lines like Cloning into 'fineshyt'..., Receiving objects: 100%, and finally a fresh prompt. Takes about 10–30 seconds depending on your internet.

4d. Step into the fineshyt folder

cd fineshyt

Now you're inside the project folder. The prompt should end with fineshyt>.

Quick sanity check — type ls and press Enter. You should see a list of files including docker-compose.yml, Makefile, and a folder called orchestrator. If you see those, step 4 is done.

5 Configure two things

fineshyt reads its settings from a file called .env. The project ships with a template called .env.example — you'll copy it, then fill in two values.

5a. Make a working copy of the template

In PowerShell, still inside the fineshyt folder:

copy .env.example .env

copy duplicates a file. This makes .env (without the .example) — that's the file fineshyt will actually read.

What success looks like: PowerShell prints 1 file(s) copied. and gives you a fresh prompt.

5b. Open .env in Notepad

notepad .env

Notepad opens with the .env file. You'll see comments (lines starting with #) and a few empty NAME= lines. You only need to fill in two of them.

5c. Set PHOTO_LIBRARY

Set this to the folder on your computer where your photos live. fineshyt will see this folder (and all subfolders) inside the app.

PHOTO_LIBRARY=C:\Users\YourName\Pictures

Use your real path. Backslashes are fine. Don't put quotes around it, even if the path has spaces.

Photos on an external drive? Use the drive letter directly: PHOTO_LIBRARY=D:\Photos or PHOTO_LIBRARY=E:\Wedding-2024. Docker Desktop on Windows shares all attached drives with WSL2 automatically — no extra configuration needed. Just don't unplug the drive while fineshyt is running, or you'll have to restart the containers (docker compose down, then docker compose up) once the drive is back.
Photos on multiple drives? The cleanest workflow on Windows is to cull one drive at a time — when you want to switch, edit PHOTO_LIBRARY in .env and run docker compose up again. Drive letters and Docker's WSL2 filesystem don't combine cleanly enough for the multi-drive PHOTO_LIBRARIES workflow that macOS and Linux users get; the ratings and metadata fineshyt already learned about your photos persist across drive switches because the database lives in its own Docker volume.

5d. Set SECRET_KEY_BASE

This is a random string used internally by the web app. Generate one in PowerShell with:

[Convert]::ToBase64String((1..48 | ForEach-Object { Get-Random -Max 256 }))

Copy the output, paste it after SECRET_KEY_BASE=, save and close Notepad.

Why two values? PHOTO_LIBRARY tells fineshyt where to look. SECRET_KEY_BASE is a security token that the web app uses to sign session cookies — needed even for a localhost-only install.

6 Start fineshyt

Back in PowerShell (still in the fineshyt folder):

docker compose up

This is the long step. Docker has to download a few base images, build the fineshyt containers, and the AI worker has to fetch its CLIP image-encoder model on first run. Plan for 10–20 minutes the first time. Subsequent runs start in seconds.

When you see lines like orchestrator-1 | [info] Running OrchestratorWeb.Endpoint, you're up.

7 Open it in your browser

Go to http://localhost:4000.

In the Directory field, type /photos/ followed by the subfolder of your library you want to ingest. So if your library is at C:\Users\You\Pictures and you want to cull the 2024-spring subfolder inside it, type:

/photos/2024-spring

(fineshyt sees your photo library at /photos inside the container — you don't need to use Windows-style paths in the app.)

Set a sample size, hit Ingest, and watch the activity log fill up. When it's done, head to the Gallery to start rating.

Now what? The how-to-use guide walks through the full workflow: importing photos, rating them, watching the MATCH badges appear, handling burst sequences, and exporting your favourites.

Troubleshooting

"docker: command not found"

Docker Desktop isn't running. Open it from the Start Menu, wait for the whale icon to stop animating, then try the command again.

The container says "PHOTO_LIBRARY is missing"

Your .env file isn't filled in, or you copied .env.example but never edited it. Re-do step 5.

"Cannot connect to LLM at host.docker.internal:11434"

Ollama isn't running. Open it from the Start Menu (it lives in the system tray, no main window). If you never ran ollama pull llava, do that too.

It's slow / it crashes / fans are spinning

Vision LLM inference is genuinely heavy. fineshyt processes one photo at a time on purpose. Plan for ~10–30 seconds per photo on a modern laptop. If you have an NVIDIA GPU, Ollama will use it automatically.

Stopping fineshyt

In the PowerShell window where you ran docker compose up: press Ctrl+C. Or to stop from any window:

cd $HOME\Documents\fineshyt
docker compose down

Your photos, ratings, and AI metadata persist between restarts. docker compose down -v (with the -v) wipes the database. Don't run that unless you want a fresh start.

Updating to a new version

cd $HOME\Documents\fineshyt
git pull
docker compose up --build

Getting help

Open an issue on GitHub with the contents of the PowerShell window when things went wrong. The more output you paste, the faster the fix.