An HTML mobile template for a banking app: a welcome screen followed by a notification permission step, a Face ID permission step and a short setup summary. It works as a fintech onboarding screen for mobile sites and PWAs, and it can be packaged as a native app with Capacitor. Built with Bootstrap 5, Bootstrap Icons and Inter.
How it works
The root .bwp-app is a centred app column (max 430 px) with four section.bwp-step panels, each marked with data-step-panel: welcome, notify, faceid and done.
The welcome panel has a navy .bwp-hero with a CSS card illustration and two floating info chips, then the headline, three .bwp-features and the two buttons. The permission panels share the same layout: a .bwp-bar with a back button and a two-segment .bwp-progress, a large icon, the explanation list .bwp-list, and a sticky .bwp-footer with Allow and Not now.
The script listens for clicks on [data-go] (navigate to a step), [data-skip] (decline) and [data-allow] (accept). Allow shows a spinner for 700 ms to simulate the system prompt, then stores the choice and moves on. The .bwp-summary pills on the last step show On or Off for each permission.
Customization
--bwp-navyand--bwp-navy-2on.bwp-app: change the brand colours of the hero, buttons and icons.--bwp-greenon.bwp-app: changes the check icons and the On pill.--bwp-radiuson.bwp-app: rounds the preview card, privacy box and summary list.height: 348pxon.bwp-hero: make the welcome illustration area taller or shorter.- The
window.setTimeoutin the[data-allow]handler inscript.js: replace it withNotification.requestPermission()or your Capacitor biometric plugin and pass the real result tonext(). data-go="welcome"on "Go to my accounts": in this demo it restarts the flow; point it to your dashboard route.- Remove a whole
[data-step-panel]section and its key in theorderobject to drop a step.
Use cases
- Banking and credit union apps: introduce the app, then ask for alerts and biometric sign-in
- Fintech and budgeting PWAs: explain why push notifications matter before the browser prompt appears
- Payment and wallet apps: offer Face ID or fingerprint approval for transfers
- Insurance or brokerage apps: a calm, trustworthy first-run flow before the account dashboard
Accessibility
Each step is a section labelled by its heading. When the step changes, focus moves to that heading, and a visually hidden role="status" region announces "Notifications turned on." or "Face ID skipped.". The progress bars use role="progressbar" with aria-valuetext such as "Step 1 of 2". Icon-only back buttons have aria-label values, decorative icons are aria-hidden, all buttons are at least 44 px tall and keyboard operable, and the step slide-in animation only runs when prefers-reduced-motion allows it.
Usage notes
Requires Bootstrap 5 and Bootstrap Icons; Inter comes from Google Fonts. Call the native permission APIs inside the Allow click handler.