FIELD STATION · 55°N 2°W
02 EXPERIMENT Experimental

SHOAL

Keep the thinking from a workshop.

A good workshop leaves two kinds of record: what people said, and what they made. Today that record mostly lives on a facilitator's phone as a roll of photos, and writing it up properly takes a day or two. SHOAL keeps the thinking, and writes it up in minutes on the laptop in the room.

Version
0.3.0
Released
9 Jul 2026
Runs on
macOS · any machine with Go
Licence
MIT

What it does

During the workshop, people use their own phones to add to a shared session:

  • Snap a photo of a post-it wall, a flip chart or a sketch.
  • Jot a thought, a question or a point of disagreement.
  • Mark a moment worth coming back to.
  • Record a short audio clip of the conversation at their table.

Everything gathers in one session on the facilitator's laptop. When the workshop ends, SHOAL reads back over all of it and writes a summary: a timeline of how the session unfolded, the themes that kept returning, the tensions between them, the questions left open, and the places where what people said out loud differed from what they wrote down.

It draws on everything captured, not just what one tired facilitator managed to remember.

Who it's for

Charities, co-operatives and community groups get a lot of their work done by bringing people together: away days, planning sessions, consultations, co-design. They rarely have spare hands to turn a room full of ideas into a usable document afterwards. SHOAL is built for them, so the value made in a session is still there the next morning.

There is no cloud account to set up, no per-seat fee, and no data leaving the building without a decision to let it.

How a session runs

  1. The facilitator starts SHOAL on their laptop and creates a session. SHOAL shows a QR code.
  2. Participants scan it with their phones, read a short consent screen, and start adding.
  3. At the end, the facilitator closes the session, which stops new contributions.
  4. The facilitator gives consent to summarise. Capture and summarising are separate decisions.
  5. SHOAL writes the record and shows it on screen.

From the record you can download Markdown, copy it into an email or document, print or save a PDF, or share a read-only link that participants can open on their phones before they leave. If the summary missed something, run it again without losing any contributions.

Where the summarising happens

SHOAL can summarise with a model on the laptop itself, so no internet is needed at any point. It can use a cloud service instead if you choose, and then only after the session is closed and you have given consent.

OptionWhere it runs
OllamaOn your laptop, any platform
co/coreOn your laptop, Apple silicon; a member-owned AI co-operative
MistralCloud, based in France
OpenRouterCloud, access to many models with one key

Setting it up

You set SHOAL up once, at your desk, before the day of the workshop. It uses the Terminal a little, and every command is written out for you. On a Mac you need Homebrew, Go and Ollama, plus a summarising model of a few gigabytes that downloads once.

A setup check tells you what is missing and how to fix it:

go run ./cmd/shoal -doctor

Phones can only record audio over a secure connection, so SHOAL makes its own certificate. People see a one-time browser warning when they join, which is expected on your own network. At a venue with unreliable wifi, bring a small travel router and have everyone join that.

The step-by-step guide in the repository walks through it from opening the Terminal to getting the record.

Principles

  • Local-first. Nothing leaves the room until the facilitator closes the session and gives consent.
  • Visible consent. Recording is shown as a full-screen banner, not a hidden icon.
  • Deletion is built in. Delete one contribution, or a whole session with its data.
  • Glanceable, not a feed. The facilitator sees counts and totals, not a scrolling list. A facilitator staring at a dashboard is a worse facilitator.

SHOAL is experimental. Expect rough edges, and tell us what breaks: contact@fieldstation.xyz.