Attendance comes through WhatsApp. The record stays.
Attendance comes through WhatsApp. Every record stays traceable.
WhatsApp · Google Apps Script · NestJS · Prisma + SQLite · React + Vite · Capacitor iOS
What changes.
A record you can trace.
Attendance, notices and an audit log within one operation.
Supervision from your phone.
Reports, role-based access and notifications synced across devices.
Take a closer look.


How it was built.Decisions, evidence and details
Stack
WhatsApp
Google Apps Script
NestJS
Prisma + SQLite
React + Vite
Capacitor iOS
photo_library
Product screenshots



flag
Objective
Unify attendance operations from WhatsApp to the back office, with reliable capture, daily visibility, role-based security, and a mobile experience ready for supervision and follow-up.
account_tree
System architecture
- attendance_api: Google Apps Script handles WhatsApp operational logic, reports, triggers, and backward compatibility for legacy automations.
- attendance_backend: NestJS API provides JWT auth, RBAC, Prisma persistence, audit logs, and notification read-state endpoints.
- Frontend: React + Vite + Capacitor delivers the mobile/web experience, notification center, and iOS synchronization flow.
- Data layer: Google Sheets powers operational records while SQLite supports auth, audit, refresh tokens, and notification state.
bolt
Core capabilities
- • Attendance and operational events initiated from WhatsApp-connected workflows.
- • Daily reports and business rules on top of Google Sheets without breaking the legacy process.
- • Secure authentication with JWT, rotating refresh tokens, and strict role-based access.
- • Notification center with pending permissions, recent movements, and audit activity.
- • iOS push notifications plus cross-device synchronization for read/unread notification state.
update
Recent improvements
- • Backward-compatible Apps Script wrappers that self-heal outdated triggers.
- • Better iPhone notification center with a sheet-style panel and grouped toasts.
- • Read/unread persistence first in local state and now synchronized through the backend.
- • Expanded notifications module for push token registration, internal push delivery, and shared read-state.
emoji_events
Operational impact
- • Lower dependence on manual entry and better consistency in attendance records.
- • Better visibility for operations leaders through auditability, alerts, and follow-up from a single app.
- • A technical base that is extensible for more rules, more clients, and real multi-device sync.