You can build this by using face-api.js to handle face recognition right in the browser (so it works offline). Store data with localForage (easy offline database), and use PapaParse to let teachers download attendance as a CSV file. For the look and feel, just use Bootstrap to keep the design simple and mobile-friendly. Finally, make it a PWA so the app works even without internet and syncs later when online.
face-api.js → face recognition.
localForage → offline storage.
PapaParse → CSV export.
Bootstrap → UI design.
PWA (service worker) → offline mode + installable.