The mafflab starter kit
A ready-to-ship Progressive Web App template with the lab's synthwave theme, a scoped manifest and an offline service worker. Swap in your logic and you have an installable tool that passes review.
Download the kit
Includes a working sample tool, Readability Probe, which scores plain-language summaries and patient materials offline. Delete it or learn from it.
mafflab-starter-kit/ ├── index.html your tool's page ├── app.js logic, install, offline ├── mafflab-theme.css the synthwave theme ├── manifest.webmanifest scoped app identity ├── sw.js versioned offline cache ├── .htaccess security headers ├── mafflab.json card + blueprint metadata ├── icons/ svg, png, maskable ├── fonts/ self-hosted fonts ├── README.md └── LICENSE MIT
Lab rules: the review checklist
- No trackers, no third-party scripts.No analytics, pixels, tag managers, CDNs or remote fonts. Everything the tool needs ships inside its folder.
- No cookies.Local storage only for the user's own convenience, such as a saved draft, and say so in the interface.
- Disclosed data sources only.Calls to public APIs are fine when named on screen. Route them through a small server relay so visitor IPs stay private.
- Nothing personal leaves the device.No patient data, no HCP personal data, no free text sent to external AI services.
- Works offline, installs on its own.A scoped manifest and a service worker that caches the app shell. Every path relative.
- Documented like a blueprint.Problem, hypothesis, architecture, HCP and patient impact, and the MLR questions, in mafflab.json.
From zip to live tool
- Unzip the kit and rename your tool in
manifest.webmanifestandmafflab.json. - Replace the sample in
index.htmlandapp.js. Keep every path relative so the app works inside its own folder. - Run it locally with
python3 -m http.serverand openlocalhost:8000. Service workers need localhost or HTTPS. - Change the
VERSIONconstant insw.jseach time you ship, so installed copies update. - Fill in the blueprint in
mafflab.jsonand submit it through LinkedIn.