A native macOS app for browsing and analyzing espresso shots from your Decent Espresso machine. Two-pane layout like Mail: pick your shot history folder, shots load in a sidebar, interactive graphs render on the right.
Built entirely with Apple frameworks — SwiftUI + Swift Charts. No third-party dependencies, no Electron, no web views.
⬇︎ Download the latest release (macOS 14+, universal). It's not notarized, so you'll need to bypass Gatekeeper once on first launch — see Downloads and Gatekeeper.
-
Reads three shot formats, auto-detected and de-duplicated:
- Modern Decent
.jsonshot files - Legacy Tcl-dictionary
.shotfiles - Visualizer CSV exports
- Modern Decent
-
Interactive charts — hover for a crosshair and a tooltip with the exact pressure, flow, weight flow, and temperatures at that moment. Dotted goal lines match their measured line's color. Fahrenheit shot files are converted to °C automatically.
-
Shot comparison — ⌘-click (or ⇧-click / ⌘A) to select multiple shots and overlay them: color identifies the shot, line style identifies the metric, with legends for both.
-
PNG export (⌘E, toolbar, or right-click) of any shot or comparison, rendered at 2× and matching your light/dark appearance.
-
Color schemes — Classic, Monokai, Solarized, Dracula, and Nord presets, each with light- and dark-tuned palettes, plus fully custom colors (Settings, ⌘,).
-
Mac-native throughout — full menu bar with shortcuts, arrow-key navigation, copy shots as files or text summaries (⌘C), drag rows out to Finder, drop a folder (or the Dock icon) to open it, context menus with Show in Finder, remembered folder and sort order, Mail-style status bar.
Requires macOS 14+ and Xcode (or the Command Line Tools).
./build-app.sh # builds ShotView.app (generates the icon on first run)
open ShotView.appOr during development:
swift run ShotViewHeadless utilities for testing:
swift run ShotView --dump <folder> # parse and summarize shots
swift run ShotView --export <folder> <out.png> [n] # render first n shots to PNGBuilding from source (above) is the recommended install — locally built apps are never quarantined, so there are no Gatekeeper warnings.
If you download a pre-built ShotView.app instead: releases are not
notarized (no paid Apple Developer account), so macOS will refuse to open it
at first. Either:
-
Open it once, then go to System Settings → Privacy & Security and click Open Anyway (macOS 15+), or right-click → Open on older versions; or
-
Clear the quarantine flag in Terminal:
xattr -d com.apple.quarantine ShotView.app
Maintainers with a Developer ID certificate can produce a
notarization-ready build with
SIGN_IDENTITY="Developer ID Application: … (TEAMID)" ./build-app.sh
(see the comments in build-app.sh for the notarize/staple steps).
The Decent tablet app stores history in de1plus/history/. Copy that folder
(or any folder of .shot / .json / Visualizer .csv files) to your Mac and
open it with ⌘O — the app remembers it across launches.
This app was built collaboratively with Claude (Anthropic's Claude Code), using the "Mac-arsed Mac app" skill to guide it toward genuine macOS conventions — native menus and keyboard shortcuts, pasteboard and drag-and-drop support, contextual menus, and window/state behaviour that follows the platform rather than merely running on it. Every line of code was written from scratch during that process; there are no third-party dependencies.
MIT — © 2026 Andrew F.
Not affiliated with Decent Espresso or Visualizer. Shot file formats belong to their respective projects; parsing was implemented independently from sample files.

