All guides › By use case
By use caseSafari, Firefox, phones and dark mode in one run
Walk the same flow in Chromium, WebKit and Firefox, on phone, tablet and TV presets, in light and dark mode, and review every combination on one canvas.
The bug report says "on my iPhone the button is under the keyboard" and the team checks it in Chrome on a laptop. Kaloko walks the flow in Safari's engine on an iPhone-sized screen, in the colour scheme the customer uses, and puts it next to the Chrome capture.
The problem
Most teams review one browser at one size in light mode. Safari, small phones, tablets, dark mode and reduced motion get checked when a customer complains, and then by hand on one device.
What changes with Kaloko
Browsers, device presets, colour schemes, reduced motion, forced colours and the installed-app display mode are dimensions of a run, like locales and viewports. Every combination is captured and checked; the canvas switches between them next to the locale and shows the same step in another browser beside it.
How it works
- Install the engines once
npx kaloko browser install --browsers webkit,firefoxon each machine or CI job. - Name what you need
in the scenario (
browsers: [chromium, webkit],color_schemes: [light, dark],viewports: [iphone-se, pixel-8, ipad-landscape, laptop]) or per run:kaloko start … --browsers chromium,webkit --color-schemes light,dark --viewports iphone-se,desktop-hd. - Walk
kaloko walkmakes one pass per engine and device profile.kaloko walk --browsers webkitwalks only the WebKit captures of the run. - Pick presets
kaloko deviceslists phones (small to large), foldables, tablets, laptop, desktop and TV widths. A preset sets the screen size, pixel ratio, touch and user agent;<preset>-landscapeturns it sideways. - Review
switch browser and scheme on the canvas, open the device frame, or press G to see one step in every language and viewport at once, browsers and schemes included when you ask.
Skills and prompts
A customer says checkout breaks in Safari on a small iPhone. Walk the checkout on staging in Chromium and WebKit on iphone-se and compare the two.Expected outcome: a run with iphone-se and iphone-se.webkit captures of each step, and a list of the steps that differ, with evidence.
Check the account pages in dark mode on desktop and mobile and tell me where text contrast fails.Expected outcome: dark captures of each step and the contrast criteria of the a11y pack, per scheme.
What you get
- Every combination as a capture with its own checks, in CSS pixels, so comments and diffs line up across devices.
- Chromium-only checks (the accessibility tree, focus rings, layout shift) marked "not evaluated" with the reason on other engines, not as failures.
- Native apps on the same canvas when you need them: see mobile apps and desktop apps.
FAQ
Is WebKit the same as Safari on an iPhone?
It is Safari's engine run by Playwright with the device's size, pixel ratio, touch and user agent. It catches layout and engine bugs; a real device catches the rest.
Will the matrix explode?
It can: three viewports, two browsers and two schemes are twelve screenshots per step and language. Keep the matrix to what the task is about; a run refuses more than 400 combinations.
Can I check an installed PWA?
Yes. display_modes: [browser, standalone] captures the page as installed: display-mode media rules and matchMedia answer as standalone, at full-screen size.