← Back to Projects
IOT PLATFORM • FULL STACK

Edge Device Management Platform

Centralized platform for managing distributed industrial edge devices

FastAPIAngularIoTPostgreSQL

Client

Industrial Automation Company

Timeline

1+ year

Role

Senior Software Engineer

The Challenge

Field technicians at NOV needed to manually visit each industrial site to configure and update edge devices running data collection software. This was expensive, time-consuming, and caused downtime during updates.

The company needed a centralized platform to:

  • Remotely configure device settings
  • Deploy software updates
  • Monitor device health and connectivity
  • Troubleshoot issues without site visits
  • Manage hundreds of devices across facilities

The Solution

FastAPI Backend

Built RESTful API with FastAPI handling device registration, configuration management, and real-time status updates.

  • JWT-based authentication for device and user access
  • WebSocket connections for real-time device communication
  • PostgreSQL database for configuration and telemetry storage
  • Background tasks for firmware update orchestration
  • API versioning for backward compatibility with older devices

Angular Frontend

Created responsive dashboard for device fleet management with real-time status monitoring.

  • Device inventory with filtering and search
  • Configuration management interface
  • Real-time status updates via WebSockets
  • Firmware update scheduling and rollback
  • Alert system for device issues

Device-Side Integration

  • Python client for edge devices
  • Secure device registration flow
  • Configuration hot-reload without restart
  • Update download with retry logic
  • Heartbeat monitoring

Impact

  • Eliminated most on-site visits for configuration changes
  • Reduced update deployment time from weeks to hours
  • Enabled proactive maintenance through monitoring
  • Improved device uptime through faster troubleshooting

Key Learnings

Building Production FastAPI

Implementing FastAPI at scale with proper error handling, validation, authentication, and background task management. Understanding when to use async vs sync operations.

Real-Time Communication

Choosing between WebSockets and polling based on use case. Handling connection drops gracefully and implementing proper reconnection logic.

Distributed Systems

Managing hundreds of devices across unreliable networks. Designing for intermittent connectivity, handling partial failures, and ensuring eventual consistency.

Angular Reactive Patterns

Using RxJS for reactive state management, handling real-time data streams, and optimizing change detection for performance.

IoT Security

Securing device communication, implementing proper authentication for both humans and machines, and handling credential rotation at scale.

Technology Stack

Backend: FastAPI (Python 3.x), PostgreSQL, Redis, WebSockets

Frontend: Angular 12+, TypeScript, RxJS, Angular Material UI

Infrastructure: Docker containerization, Linux servers, Secure VPN for device connectivity