appxdata — Cross-platform field app (OFITECO)
Modern-stack rewrite of OFITECO's infrastructure auscultation app: field readings, calibrations, issues, alarms and SCADA, offline-first, for Android and iOS.
The problem
Auscultation teams take readings in the field — dams, tunnels, bridges — often in locations with no reliable coverage. The legacy app (Angular + Ionic) carried technical debt and security defects. The goal: a cross-platform, offline-first rewrite, faithful in functionality but solid in security and maintainable.
What I built
A Capacitor (Android and iOS) app that digitises field work end to end, working offline and syncing when the network returns:
- Manual readings: planned routes, numpad with live sanitisation, photo, QR scanning, per-sensor history (charts).
- Calibrations and inspections: dynamic-field forms by equipment type, task completeness, issues with validation.
- Alarms (value vs threshold) and SCADA (dams → schematics → interactive synoptic with real-time values).
- Offline sync: FIFO queue, conflict resolution (HTTP 409, last-write-wins), network indicator, persistent token.
- Multi-variant by infrastructure type (dams / tunnels / bridges), each with its own app id, name and icon.
- 4 languages (es / ca / en / fr) with browser auto-detection.
Security (vs legacy)
HTTPS by default (HTTP only with explicit consent) · JWT token encrypted at rest (never in localStorage) · encrypted local database (SQLCipher, passphrase in the device Keystore) · strict build CSP · allowBackup=false · 0 vulnerabilities in npm audit.
Technical metrics (verifiable)
- ~768 tests (Vitest), coverage 100/100/100/94, clean lint + type-check + a11y.
- Clean Architecture (4 layers:
domain / application / infrastructure / presentation), enforced byeslint-plugin-boundarieswith an anti-regression canary. - Verified on real devices (end-to-end flows, 0 logcat errors). WCAG 2.1 AA (axe + Playwright).
Stack
Svelte 5 (runes) · strict TypeScript · Vite 7 · Tailwind 4 · flowbite-svelte · Capacitor 8 (Android/iOS) · encrypted SQLite (SQLCipher) · ApexCharts.
Professional project at OFITECO (VINCI Group) · private repository. In progress: finishing the Android version; next step, iOS build (Capacitor shares the codebase).
Other work with a related technical focus:
Executive monitoring dashboard (OFITECO)
Strategic-management panel for infrastructure monitoring: advanced data table, cascading filters, reactive KPIs and interactive maps, in 4 languages, WCAG AA.
Pulso — Structural Health Monitoring (OFITECO)
Web platform that auscultates bridges and buildings via vibrations: automatic operational modal analysis (OMA), tracking and damage alerts. In production.
xdata-bim — Infrastructure Digital Twin (OFITECO)
Web-based digital-twin platform (BIM + GIS + IoT) for monitoring critical infrastructure in real time. Built solo, from architecture to production.