Shared by @futuretrees
Date: 2026-05-14
Ditto's landing-page product renderings were updated so they no longer rely on hand-built mock UI components. The snapshot pipeline now renders the real Ditto app in simulator mode, drives it into representative product states, captures browser pixels, and packages those captures as static HTML files for the landing site.
The previous renderings looked close to the production app, but they were implemented as separate mock components. That meant small visual details could drift from the real app: spacing, controls, message chrome, sidebars, mobile layout, live mode, and dark-mode behavior.
The goal was to make the app itself the visual source of truth.
snapshot=chat and snapshotTheme=dark to drive the app into deterministic states.Ditto app checks passed:
bun checkbun typecheckbun run build:simulatorLanding site checks passed:
bun run format:checkbun lintbun run buildbun run depcheckGitHub PR checks passed for both PRs:
The landing product showcase now uses renderings generated from real Ditto app code, reducing visual drift and making the simulator snapshot workflow the reusable source of truth for future product screenshots.