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.

95 KB zipped. MIT licence. No dependencies, no build step, no npm.

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

  1. Unzip the kit and rename your tool in manifest.webmanifest and mafflab.json.
  2. Replace the sample in index.html and app.js. Keep every path relative so the app works inside its own folder.
  3. Run it locally with python3 -m http.server and open localhost:8000. Service workers need localhost or HTTPS.
  4. Change the VERSION constant in sw.js each time you ship, so installed copies update.
  5. Fill in the blueprint in mafflab.json and submit it through LinkedIn.