Nodrix

The IoT platform Cloudflare didn't build. Telemetry, realtime dashboards, and automations on Workers + D1 + R2 + Durable Objects — in your own Cloudflare account.

Internet of Things (IoT)TypeScriptMIT

Abstract

Nodrix is an open-source Internet of Things (IoT) project. The IoT platform Cloudflare didn't build. Telemetry, realtime dashboards, and automations on Workers + D1 + R2 + Durable Objects — in your own Cloudflare account. It is built using TypeScript, Arduino, ESP32, ESP8266. Key capabilities include: Telemetry over HTTPS or WebSocket — hardware POSTs JSON to a project; variables auto-create on first sight. No schema to define, no MQTT broker to run; Realtime dashboards — a drag-and-drop widget grid streams updates over hibernating WebSockets; share any dashboard read-only by public link; Embeddable widgets — every widget is a framework-agnostic Web Component you can lift straight into your own app. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.

1. Introduction

The IoT platform Cloudflare didn't build. Telemetry, realtime dashboards, and automations on Workers + D1 + R2 + Durable Objects — in your own Cloudflare account.

2. Objective

The IoT platform Cloudflare didn't build. Telemetry, realtime dashboards, and automations on Workers + D1 + R2 + Durable Objects — in your own Cloudflare account.

This project demonstrates how TypeScript, Arduino, ESP32 can be applied to a real-world Internet of Things (IoT) problem.

3. Key Features / Modules

  • Telemetry over HTTPS or WebSocket — hardware POSTs JSON to a project; variables auto-create on first sight. No schema to define, no MQTT broker to run.
  • Realtime dashboards — a drag-and-drop widget grid streams updates over hibernating WebSockets; share any dashboard read-only by public link.
  • Embeddable widgets — every widget is a framework-agnostic Web Component you can lift straight into your own app.
  • Two-way control — toggles, sliders, color pickers, and buttons write values back to hardware via short polls or a control socket.
  • Visual automations — variable, schedule, sunrise/sunset, and event triggers run conditions and actions: webhooks, code snippets, and service integrations.
  • Integrations — fan out to HTTP, email, and chat (Slack, Telegram, Discord, and more).
  • Clean read API — latest state, time-series, and variable listings behind one token.
  • Native MCP server — read telemetry and control hardware from an AI assistant, on devices you are not physically next to. Owner-gated and off by default; see AI assistants (MCP).
  • Multi-user — owner / admin / member roles, email invites, and social sign-in (Google, GitHub).
  • Audit log — every privileged action recorded and paginated in the UI.

4. Technology Stack

TypeScriptArduinoESP32ESP8266

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm / yarn / pnpm
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/decoded-cipher/nodrix.git
cd nodrix
  1. Deploy to your Cloudflare account — one click, or bun run deploy:platform from a clone.
  2. Create the owner account — the first visit prompts a "Create owner account" page; the first signup becomes owner.
  3. Create a project and mint a project token from the dashboard.
  4. Send telemetry — variables are created the moment data arrives:
  5. Read it back:
curl -X POST https://<your-worker>/v1/telemetry \
     -H "Authorization: Bearer $NODRIX_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"metrics":{"temperature":23.4,"humidity":61}}'
curl https://<your-worker>/v1/projects/<project>/state \
     -H "Authorization: Bearer $NODRIX_TOKEN"

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a mobile dashboard using Blynk or Firebase
  • Store readings in a cloud database for history charts
  • Add alerts via SMS / Telegram when thresholds are crossed

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which microcontroller / board and sensors are used and why?
  2. How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
  3. Where is the sensor data stored and visualised?
  4. How is power consumption managed?
  5. How would you secure the device and its communication?

9. Source Code & License

This project is developed by decoded-cipher and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Internet of Things (IoT) Internship