Skip to main content

Geofenced Asset Tracking Platform

RFID-based tracking system that assigns a tag to anything — assets, products, or people — and raises real-time alerts when a tagged item leaves its expected zone.

Enterprise · 2024 · Full-Stack Engineer

Technology

  • ASP.NET Core
  • C#
  • SQL Server
  • SignalR
  • Redis
  • React

Overview

The core idea is deliberately generic: assign an RFID tag to anything, define a zone it's expected to stay within, and the system takes care of the rest — reading tag events from fixed and handheld readers, resolving each tag's current location, and comparing it against its assigned geofence in real time.

That genericness is what lets the same platform back very different use cases — student attendance (a tag on a student ID badge, a 'zone' that's a classroom or campus building), product/inventory tracking (a tag on a pallet, a zone that's a warehouse section), or general asset tracking (equipment that shouldn't leave a specific floor or site) — without forking the codebase per use case.

Reader events stream into the backend continuously, so 'checking' a tag's position isn't a poll-on-demand operation — the API layer processes the incoming event stream and only pushes a state change (entered zone, exited zone, out-of-range alert) to connected dashboards over SignalR when something actually changes, rather than every client re-querying tag positions on an interval.

The challenge

Problem: A tag reader in a real environment doesn't produce a clean, single 'entered zone' event — RFID signal is noisy near a zone boundary, so a tag sitting right at the edge of a geofence can appear to enter and exit dozens of times within seconds as the signal fluctuates, which would otherwise flood the alert system with false in/out notifications.

Approach: Added a debounce window per tag-zone pair: a zone transition only counts as real once the new state (inside/outside) has been consistently reported for a minimum dwell period, not on the first reader event. Genuine movement still resolves quickly; boundary jitter gets absorbed instead of triggering an alert storm.

Result: Alert volume dropped to the events that actually mattered — real zone exits — instead of drowning them in boundary-noise false positives, which is what makes the alerting trustworthy enough that staff actually act on it instead of learning to ignore it.

Key features

  • Generic tag-to-zone assignment model reusable across attendance, inventory, and asset-tracking use cases
  • Real-time RFID reader event ingestion with per-tag, per-zone debouncing to filter boundary-signal noise
  • Live dashboard updates over SignalR — zone entry/exit and out-of-range alerts pushed instantly, no client polling
  • Configurable geofence zones per site, building, or storage area
  • Historical movement and dwell-time reporting per tag
  • Role-based dashboard views for different monitoring contexts (attendance office, warehouse floor, security desk)

← All projects