Confidentiality Notice: This document provides a high-level summary of skills and technologies used in a professional project. In accordance with employer confidentiality policies, proprietary details including system architecture, implementation specifics, client information, and internal methodologies have been omitted.

Dynamic Message Sign Controller

SNMP-Based Control System for Roadside Electronic Message Signs

Sole Developer & System Architect

SNMP / NTCIP Multi-Vendor Support Field Network Integration Full-Stack Web Application

Project Overview

A full-stack web application for remotely managing Dynamic Message Signs (DMS) deployed across transportation infrastructure. The system communicates with field devices via SNMP using the NTCIP standard, supporting multiple sign manufacturers and controller types through a unified management interface.

NTCIP 1203 Protocol Compliance
Multi-Vendor Sign Support
Full-Stack Web Application
Field Deployed
Role: Sole developer responsible for full-stack design and implementation, including SNMP protocol integration, vendor-specific device profiles, REST API design, modern web frontend, and database architecture.

System Architecture

A three-tier architecture with a React-based frontend, Python/Node backend services, and PostgreSQL persistence layer. The SNMP engine handles bidirectional communication with field devices through vendor-specific OID profiles.

flowchart TB subgraph CLIENT["Frontend"] UI["React / Next.js
Sign Management UI"] end subgraph API["API Layer"] REST["REST API
Device CRUD & Commands"] POSTGREST["PostgREST
Database API"] end subgraph ENGINE["SNMP Engine"] PROFILES["Vendor OID
Profiles"] SNMP["SNMP Manager
GET / SET / WALK"] NTCIP["NTCIP 1203
Compliance"] end subgraph STORAGE["Data Layer"] DB[("PostgreSQL
Device Registry
Message Library
")] end subgraph FIELD["Field Network"] DMS1["DMS Controller
Vendor A"] DMS2["DMS Controller
Vendor B"] DMSN["DMS Controller
Vendor N"] end UI --> REST UI --> POSTGREST REST --> SNMP SNMP --> PROFILES SNMP --> NTCIP REST --> DB POSTGREST --> DB SNMP -->|"SNMP v1/v2c"| DMS1 SNMP -->|"SNMP v1/v2c"| DMS2 SNMP -->|"SNMP v1/v2c"| DMSN

System Capabilities

Device Discovery & Inventory

Automatic detection and registration of DMS controllers on the network with capability interrogation via SNMP WALK.

Message Composition

Web-based interface for composing, previewing, and activating multi-line messages on remote signs with MULTI tag support.

Vendor Abstraction

OID profile system that maps manufacturer-specific MIB extensions to a unified API, supporting multiple controller hardware platforms.

Status Monitoring

Real-time device health monitoring including sign temperature, power status, pixel failures, and communication diagnostics.

Technology Stack

Frontend

React Next.js TypeScript Tailwind CSS

Backend

Python 3.x PySNMP FastAPI PostgREST

Database

PostgreSQL Stored Procedures PostgREST

Protocols & Standards

SNMP v1/v2c NTCIP 1203 NTCIP 1201 ASN.1 / BER MIB Parsing

Infrastructure

Docker Docker Compose AWS ECR GitHub Actions

SNMP & NTCIP Integration

Protocol Complexity: Dynamic Message Signs communicate via SNMP using the NTCIP 1203 standard, which defines hundreds of OIDs for sign configuration, message management, pixel diagnostics, and environmental monitoring. Each vendor implements the standard differently, requiring a flexible OID profile system.
flowchart LR subgraph APP["Application"] CMD["Command
Builder"] PROF["OID Profile
Resolver"] end subgraph PROTO["Protocol Layer"] PDU["SNMP PDU
Constructor"] BER["BER
Encoder"] UDP["UDP
Transport"] end subgraph DEVICE["Field Device"] AGENT["SNMP
Agent"] CTRL["Sign
Controller"] end CMD --> PROF PROF --> PDU PDU --> BER BER --> UDP UDP -->|"Port 161"| AGENT AGENT --> CTRL

NTCIP Capabilities Implemented

Skills Demonstrated

Industrial Protocol Integration

Direct implementation of SNMP communication with field hardware, including PDU construction, BER encoding, and MIB interpretation.

Multi-Vendor Abstraction

OID profile architecture that normalizes vendor-specific implementations behind a unified API, enabling seamless support for new hardware.

Full-Stack Development

End-to-end implementation from React frontend through REST API to SNMP protocol layer, with PostgreSQL persistence.

Transportation Standards

Working knowledge of NTCIP 1201/1203 standards for traffic management device communication and interoperability.

Network Diagnostics

Built-in troubleshooting tools for SNMP connectivity, OID resolution, and device capability verification.

Containerized Deployment

Docker-based deployment with CI/CD pipeline, environment configuration, and AWS infrastructure integration.

Engineering Scope

The project required addressing challenges across multiple engineering domains:

Project Outcomes

Successfully deployed for managing DMS infrastructure across field locations, with support for multiple sign manufacturers and controller types.

Production Deployment Status
Multi-Vendor Hardware Support
NTCIP Standards Compliant
Active Development