Diego.dev
ES
← Projects
Full-stack 2020 · Technology sector client

IoT monitoring platform for biosecurity kiosk

Real-time IoT platform for ~100 biosecurity devices deployed across Colombia during the pandemic. Sole software developer.

Role

Full-stack

Year

2020

Client

Technology sector client

AngularNode.jsFirebaseMongoDBRaspberry PiTwilio

Context

During the COVID-19 pandemic, the company I worked for developed a biosecurity kiosk for access control at businesses, universities, hotels, and banks. The device combined a Colombian national ID reader (PDF417), a medical-grade temperature sensor, a proximity-triggered gel dispenser, and an audio guidance system — all orchestrated from a Raspberry Pi running Node.js. I was the sole software developer on the project.

Problem

With roughly 100 units deployed across the country, each logging employee and visitor access throughout the day, the company and its clients needed centralized visibility: real-time awareness of what was happening at each location, detection of elevated-temperature alerts, and a historical record per checkpoint. Internet connectivity was not guaranteed at every site.

Technical decisions

Firebase Realtime Database as the central sync layer: each device stored records locally in MongoDB and uploaded them to Firebase once the connection was restored. This offline-first pattern was critical — several installations had intermittent connectivity and losing records was not acceptable.

Angular with RxJS on the frontend to consume the Firebase stream reactively, without polling. Twilio for SMS notifications to each installation’s administrator when a temperature alert was triggered.

Implementation

  • Node.js orchestration on the Raspberry Pi: managing the full flow (presence detection → ID reading → temperature check → gel dispensing) as a state machine.
  • Offline-first sync: local persistence in MongoDB with automatic sync to Firebase on reconnect.
  • Real-time Angular dashboard with each person’s record: ID number, temperature, result, and timestamp.
  • Multi-installation view: each company managed only their own devices.
  • Automated SMS alerts via Twilio triggered on out-of-range temperature readings.

Result

The platform ran alongside the deployment of approximately 100 units at companies, universities, hotels, and financial institutions across Colombia. Some clients operated multiple simultaneous machines for workforces of over 100 employees; others ran a single unit through which 50 or more people passed each day. The offline sync system ensured no records were lost at sites with unreliable connectivity.

Lessons learned

The offline-first pattern was the best decision on the project — made upfront by anticipating that not every site would have stable internet. If I were to do it again, I would design the multi-tenant permission model with more granularity from day one, rather than adjusting it incrementally as the client base grew.

// Interested in this kind of work?

I can apply the same approach to your project.