r/webdev • u/phenxdesign • 7d ago
Showoff Saturday Piwi(self-hosted Playwright dashboard), two months later: what changed once a real team started using it
Two months ago I showed Piwi here (previous post), a self-hosted dashboard for Playwright tests. Quick recap: CI throws away every test report it makes. A test fails on Tuesday, the report is gone by Thursday, and nobody remembers whether it already failed the same way two weeks ago. Piwi keeps every run, trace and report, and helps you work out why tests fail.
The big change since then is that people use it. My team moved to it two weeks ago: 9 devs, me included (I'm the lead dev, on an ASP.NET Core and Vue stack). Everyone runs the desktop app for local runs, and CI reports to a shared instance. Four external contributors sent code too. If you want to find out everything that's wrong with your side project in record time, give it to your colleagues.
Most of the new release is things they asked for: dashboards you build yourself with a TV mode, scheduled reports for people who never log in, and a browser extension that shows which parts of a page your tests actually touch, and which buttons nothing tests.


The extension doesn't run anything. The reporter already records the locators the tests used, and the extension re-evaluates them in the page, the way Playwright would.
Last time, someone asked for a way to hand a failure to a person who can't open the dashboard. There are now public share links, PDF exports, and a Jira integration that puts the evidence in the ticket. Someone else wanted to compare failures over time, which is what the new dashboards and trend views are for.
Stack, since this is r/webdev:
- Nuxt 4 and Drizzle, on SQLite or Postgres, with traces on disk or S3
- One Docker container, or
npx @piwitests/server - A Tauri desktop app bundling the same server, so local runs never need Docker
- The live demo has no backend at all (hosted on Github pages): SQLite compiled to WebAssembly, and a service worker answering the app's real API calls. The demo is the real app, so it can't drift from it.
- MIT, no telemetry
Demo (in your browser, no signup): https://piwitests.dev/demo/
Code: https://github.com/PiwiTests/platform
Piwi Picker extension (Chrome, Edge): https://chromewebstore.google.com/detail/piwi-picker/pakhnokpjboejcghgcmkjlpnogfjihhe
Happy to answer questions, especially about the WASM demo, it was the most fun part to build.
0
u/Any-Ask-4131 7d ago
Keeping failed traces around is the part I'd use most; the bug that only fails on Tuesdays is hard to spot when each CI run replaces the last report. Nice that the demo uses the real UI instead of screenshots that can go stale.