# settings.

## Recording

Where your OBS recordings live, and how events get stamped onto them.
recordings folder… change…
OBS websocket… configure
voice track (transcription)
render browser (exports)…
whisper model

## Hotkeys

Fire these mid-game: shelf it saves the OBS replay buffer (or cuts the moment from the VOD after the session) and puts it on the shelf, chapter marks a new segment.
shelf it
chapter
clip length (fallback cut) s
captures wait on the shelf
tray size limit GB
On: a press captures the buffer and it waits on the clips page until you trim and name it. Off: the capture is filed straight into the archive, whole. Past the size limit the oldest untrimmed captures are dropped (0 = no limit); the newest is never the one dropped.
bind from anywhere (Stream Deck · AutoHotkey · Hyprland)

## Sharing

Publish clips with a link, or keep everything on your own domain.
…
service url
email
password
advanced — self-host clips on your own domain
Publish straight to your own S3-compatible bucket (R2, S3, B2, MinIO) served from your domain. No account, no caps — entirely your infrastructure. The bucket needs public reads.
s3 endpoint
bucket
access key
secret key
public base url
key prefix (optional)
💛 Self-hosting is free forever and always will be. If this saved you some plumbing, a small tip keeps the project going — no pressure.

## Plugins

Game packs, media sources and themes. Drop a plugin zip below, or copy its folder into `plugins/`. Changes apply on restart.
…
install from zip

## Media API keys (optional)

Licensed sources for the editor's media panes. Leave blank to keep them hidden.

## TRMNL screen (optional)

Put this session on an e-ink dashboard. In TRMNL: Plugins → Private Plugin → strategy "Webhook", copy the plugin UUID here, then paste the markup below into the plugin's template. The app pushes to TRMNL (nothing of yours is exposed to the internet).
plugin UUID
push every min
enabled
plugin markup + current payload
Paste into the private plugin's markup:

The screen keeps showing the last thing it received, so if this machine is off or asleep the wall shows the previous push — that is why every payload carries the time it was made. What it would send right now:

## Network access

This install is reachable from other devices on your network. They must enter this code once.
LAN code``

## Updates

A new version is downloaded while you work and swapped in the next time the app starts — never underneath a recording or a render. Your settings, recordings, clips and plugins are left alone.
status…
library snapshots
Chapters, marks, transcripts and share links live in one database and cannot be rebuilt from the recordings. One snapshot is taken automatically before an update is applied.
update source
manifest URL
A folder on this machine or a network share works too — point it at a `latest.json` path to test updates without a host.
check daily
download automatically
Downloading automatically still waits for a restart to apply.

## Storage

Where the disk went. Nothing you made is ever swept — only the files this app can rebuild by itself.
…

## Problems

Background work that failed. Empty is the normal state.
…
send crash reports
Off by default. When on, background failures are queued and sent so they can be fixed. A report carries the error, where in the code it happened, your OS and app version — never a file path, a recording name, a token or an email.
see exactly what would be sent

## Appearance

theme
game art on chapter markers
Cover art is not shipped with the app — when a chapter names a game, its capsule is fetched once from Steam’s CDN and kept on this machine. The only thing that leaves is a Steam app id. Off means chapter markers stay text-only.