Delicate Apps · Widget
Screenshots of your websites, taken by a small Docker tool and shown as cards that come alive. On a computer the site scrolls inside a browser frame when you hover. On a phone, one swipe shows the mobile version. One script, one config file.
Try it
Real screenshots of sites built at Delicate Apps, taken with the App Shots shooter. Hover a card to watch the site scroll in its frame. On a phone, swipe a card to the left for the mobile version.
What it does
A small Docker tool with its own app in your browser visits every site and saves a desktop and an iPhone screenshot. Use them in the cards, or on their own as WebP, PNG or JPEG.
On a computer the card swaps its motif for the site in a browser frame, which scrolls slowly from top to bottom and back.
On touch screens the motif comes first. One swipe shows the mobile site in a phone frame, and two dots show where you are.
Ten animated motifs in each card's color, or your own image or SVG. Cards without screenshots simply keep their motif.
One module with no dependencies, about 9 KB. Screenshots load only when a card comes near the screen, and each device loads only the ones it shows.
Colors, corners, fonts and card width from the config file. The grid fills as many columns as fit, from one on a phone to four on a wide screen.
Configure
Every change here writes into the two files below: sites.txt tells the shooter what to photograph, appshots.config.json tells the widget what to show. Names that match a screenshot show it in the preview.
Every change here writes into sites.txt below, the list the shooter works through. The preview shows the files you will get.
The short name becomes the screenshot file name, so keep it the same in both files.
Card size is 640 px wide on a computer and 480 px on a phone. Full resolution is 2560 px and 1170 px.
Put this sites.txt into the shooter folder from appshots-shooter-0.3.1.zip and run docker compose run --rm shots there. The images land in its shots folder.
Set it up
Unzip appshots-0.3.1.zip. It holds the widget, an example page and the shooter folder with everything Docker needs.
Double-click start in the shooter folder and add your sites in your browser, or put your sites.txt there and run the command below. The screenshots land in shooter/shots; copy that folder next to your config.
Upload app-shots.js, your appshots.config.json and the shots folder, add an element with data-appshots and load the script once.
# take the screenshots, inside the shooter folder docker compose run --rm shots <!-- where the cards go --> <div data-appshots="/appshots/appshots.config.json"></div> <!-- once, anywhere on the page --> <script type="module" src="/appshots/app-shots.js"></script>
Download appshots-shooter-0.3.1.zip, the shooter on its own. Double-click start and it opens in your browser: add your sites, take the screenshots, download them. Use them anywhere, from a portfolio to slides or a client report.
Licence
App Shots is free for your site. The Delicate Audio icon and copyright line under the cards stay visible and unchanged.
Need App Shots without our mark, for a client or inside your own product? An unbranded version is available on request.
armin.lanzinger@gmail.comBuilt by Armin Lanzinger in Innsbruck. The widget has no third-party code. The shooter runs Chromium through Playwright and saves images with Pillow, fetched when its Docker image is built; their licences are listed in THIRD_PARTY.md.