Viewer
Host and review prototypes on your own server.
Everything it keeps lives in one database and one folder on disk, and sign-in comes from GitHub. No managed service, no vendor, and no prototype leaving your network.

How it runs
From a repository to a reviewable link.
01
Connect a repository
A GitHub App provides both sign-in and repository access. Nothing else needs an account.
02
It builds in-process
Clone, run your project’s own install and build commands, publish the output. Logs stream live while it runs.
03
Share the review link
Reviewers open the prototype and click anywhere to leave a comment pinned to that element.
Comments
Pinned to elements, not coordinates.
A comment anchors to the element it was left on. Rebuild the prototype, change the layout, and the pin is still on the thing it was about.
Threads support replies, resolve, and @-mentions that send email, with a one-click unsubscribe that needs no account.
Self-hosting posture
- Everything it keeps is one folder, so a backup is a copy
- Built assets live on local disk, not object storage
- Path serving by default; optional subdomain isolation per prototype
- Machine tokens for scripting, scoped read or write

Get started
One command, and it is running.
The image carries everything it needs, and a demo prototype is already inside it. When you are ready to host it for your team, there is a short guide to who gets in and where to run it.
docker run --rm -p 3100:3100 -v desde-viewer:/data ghcr.io/desde-design/viewer:latest