Since v8.1.6, a board’s folder is a complete, self-contained container: it holds the board’s media files and its data. Inside every board folder sits a hidden .database/ directory with board.json — the full board (cards, arrows, notes, video and mockup projects, unsorted dock items, AE/Resolve presets), kept in sync automatically a couple of seconds after any change.
That means a board folder can live anywhere — an external disk, a Dropbox folder, a network share — and it survives without the app. Newly created sub-boards are nested under subboards/; an older child that still lives elsewhere is recorded with path: null and must be moved separately before the parent is a complete tree.
Choose where a new board lives
Creating a board asks Where to save the new board?
- Default location — app-managed storage, like before.
- Custom folder — any folder on the computer, external disks included. The folder becomes the board’s home immediately.
Your last choice is remembered. You can move a board later at any time (see Connected Folder Sync).
Import a board folder
Next to the + button in the boards list there’s an Import board folder button. Pick any folder that contains a board data file and it’s added to the boards list — nothing is copied, the folder itself becomes the board’s home. Sub-board folders inside it (subboards/…) are registered along with it.
- If a board with the same id is already in the list, the folder is imported as a copy with fresh ids.
- Boards you removed with keep folder on computer can be brought back this way.
- A folder that’s already connected to a board can’t be registered twice.
Removing a board
The red × in the boards list opens a choice:
- Remove from list, keep folder on computer — the folder (media + data file) stays on disk and remains importable.
- Remove from list and delete folder — the folder’s contents move to the Trash folder first (recoverable for about a week).
For safety, the app will not delete or relocate a folder that physically contains another registered board folder. Keep the parent folder, or relocate the nested boards first; this prevents child-board links from being stranded by moving their containing directory.
Live sync and collaboration
The app doesn’t just write the data file — it reads it back:
- Open a board and its folder is checked first: if
board.jsonchanged externally (another machine, Dropbox, a colleague, a script), the board reloads automatically. - While a board is open, its folder is watched; external changes appear on the canvas within a few seconds.
- If both sides changed, the app merges card-by-card: cards only the other side touched are applied, your edits stay. When the very same card was edited on both sides, your version wins and the external version is backed up under
.database/backups/— a notice on the canvas reports what happened.
Sequential collaboration over a shared synced folder (one person at a time) is seamless. Simultaneous editing is collision-safe but not real-time co-editing.
While a board is open, the app maintains .database/lock.json. A second app instance opens the folder read-only until the lock is released or its heartbeat expires. The merge remains a fallback for cloud-sync latency, but two instances are never intentionally allowed to write at once.
Broken boards and reconnecting
If a board’s folder can’t be found (moved, renamed, disk unplugged), the board turns red in the boards list with a warning icon and a Reconnect folder button. Point it at the folder’s new location and the board re-links and reloads. The folder must contain that board’s own data file.
Corrupt manifests and manifests from newer app versions are never overwritten automatically. The board opens read-only. For corruption, Recover cached copy backs up the damaged file under .database/backups/ and only then writes the last verified cache back to the folder.
Media is copied in automatically
Since v8.1.20 a board never borrows media from another board’s folder. Dragging media from the Media Library, reusing a clip in the Video Editor or Mockups, pasting a card between boards, or dropping into the media dock all copy the file into the current board first — exactly as if you had dropped the file onto the board. Video proxies and thumbnails travel with their clip, and a file the board already has is reused rather than duplicated, so reusing the same clip repeatedly doesn’t grow the folder. The source board is never modified.
That means every board folder is a complete portable copy at all times, with no extra step to run.
Where deleted media goes
Every board trashes deleted media inside its own folder, under .database/trash/ — deletes always stay on the same disk as the media, and expired items are cleaned up automatically after about a week. (Files trashed before v8.1.18 remain in the old app-level Trash folder until they expire.)
What’s inside a board folder
Opening a board folder shows your media and nothing else. Everything the app manages for itself is in hidden (dot-prefixed) folders:
| Folder | Contents |
|---|---|
.database/ | The board data file, plus its lock, conflict backups and trash |
.proxies/ | Lightweight video copies used for smooth timeline playback |
.thumbs/ | Video and Figma thumbnails |
.memory/ | The AI agent’s per-board notes (agent-memory.md) and pipeline run history |
.unsorted/ | The media dock’s item list |
.recordings/ | Screen-recording sidecar data — transcript, click/cursor events, chapters, cached frames (not the videos themselves, which sit with your other media) |
subboards/ | Nested child boards, each a complete board folder of its own |
Boards created before v8.1.21 used visible names (proxies, thumbs, memory, unsorted, recordings). They rename themselves the first time each board’s folder is available — including boards on external disks or synced from another machine, each converting on its own machine — and until then both layouts keep working, so nothing breaks mid-transition.
On Windows, a leading dot is not a hiding mechanism; the app marks these folders hidden with the Windows file attribute instead.
Notes
- Don’t delete the
.database/directory from a board folder — it is the board. Without it the folder is just loose media. - Don’t rename or reorganise the other dot-folders either; they’re regenerated or re-derived, and
.memory/holds notes that aren’t stored anywhere else. - The
.database/board.jsonfile can be edited by external tools or scripts; write it atomically (temp file + rename) and the app will pick the change up and merge it. Never reuse an entity id from another board. - One-time housekeeping happens automatically when updating the app: a database backup (
moodboard.db.pre-folders.bak) is created, data files are seeded into every existing board folder, and old orphaned records are cleaned up. No action needed.
Leave a Reply