Click Below to Get the Code

Browse, clone, and build from real-world templates powered by Harper.
Tutorial
GitHub Logo

The Easiest Way to Use MQTT: A Hands-On Demo with Harper’s Built-In Broker

Learn how MQTT works and see a real-time demo using Harper’s built-in MQTT broker. Discover topics, Pub/Sub, QoS, retained messages, and how Harper simplifies IoT and edge data workflows. Watch how to publish, subscribe, and store sensor data instantly with an easy, developer-friendly setup.
Harper Learn
Tutorial
Harper Learn

The Easiest Way to Use MQTT: A Hands-On Demo with Harper’s Built-In Broker

Ivan R. Judson, Ph.D.
Distinguished Solution Architect
at Harper
December 12, 2025
Ivan R. Judson, Ph.D.
Distinguished Solution Architect
at Harper
December 12, 2025
Ivan R. Judson, Ph.D.
Distinguished Solution Architect
at Harper
December 12, 2025
December 12, 2025
Learn how MQTT works and see a real-time demo using Harper’s built-in MQTT broker. Discover topics, Pub/Sub, QoS, retained messages, and how Harper simplifies IoT and edge data workflows. Watch how to publish, subscribe, and store sensor data instantly with an easy, developer-friendly setup.
Ivan R. Judson, Ph.D.
Distinguished Solution Architect
The full source code demonstrated in the video is available here: https://github.com/HarperFast/mqtt-getting-started


MQTT has become one of the most widely adopted protocols for real-time messaging in IoT and distributed systems. Its lightweight footprint, simple publish–subscribe pattern, and resilience in unreliable network environments make it a natural choice for sensors, edge devices, and telemetry workloads. But while MQTT is powerful, setting up and managing a broker, handling authentication, storing messages, and integrating data into applications can quickly become more complex than developers expect.

In this week’s episode, Ivan walks through the fundamentals of MQTT—what it is, how it works, and how Harper dramatically simplifies the developer experience by including MQTT natively inside its unified application platform.

MQTT consists of two core components: clients and a broker. Clients publish messages to topics, and other clients subscribe to those topics to receive data. This Pub/Sub model enables decoupled, scalable real-time communication. MQTT also supports useful features such as Quality of Service (QoS) levels for delivery guarantees and retained messages for storing the most recent data on a topic.

Where Harper really shines is in how effortlessly it integrates this protocol into the platform. When you install and run Harper, MQTT is already enabled out of the box—no configuration, provisioning, or third-party services required. The broker runs on the standard MQTT ports, supports authentication by default, and includes WebSocket capabilities for modern applications. Developers can begin publishing and subscribing immediately using any MQTT client or library in languages like JavaScript, Python, or even command-line tools.

Even more compelling is Harper’s ability to persist retained messages directly into a table. In the example from the video, a simple temperature sensor publishes readings to a topic. When retained mode is enabled, Harper automatically stores each message in a sensors table—no extra wiring, no additional database setup. This makes it possible to combine real-time streams with long-term storage, analysis, and alerting using the same platform.

Harper’s built-in MQTT support allows developers to build IoT, AI-at-the-edge, and event-driven systems in minutes rather than days. With one small, unified runtime providing database, caching, messaging, and application logic, it removes the complexity of managing multiple services and lets you focus on building meaningful real-time experiences.

If you’re exploring MQTT or building sensor-driven applications, this demo shows just how much faster—and simpler—the process can be with Harper. Check out the video and follow along with the sample code to get started.

The full source code demonstrated in the video is available here: https://github.com/HarperFast/mqtt-getting-started


MQTT has become one of the most widely adopted protocols for real-time messaging in IoT and distributed systems. Its lightweight footprint, simple publish–subscribe pattern, and resilience in unreliable network environments make it a natural choice for sensors, edge devices, and telemetry workloads. But while MQTT is powerful, setting up and managing a broker, handling authentication, storing messages, and integrating data into applications can quickly become more complex than developers expect.

In this week’s episode, Ivan walks through the fundamentals of MQTT—what it is, how it works, and how Harper dramatically simplifies the developer experience by including MQTT natively inside its unified application platform.

MQTT consists of two core components: clients and a broker. Clients publish messages to topics, and other clients subscribe to those topics to receive data. This Pub/Sub model enables decoupled, scalable real-time communication. MQTT also supports useful features such as Quality of Service (QoS) levels for delivery guarantees and retained messages for storing the most recent data on a topic.

Where Harper really shines is in how effortlessly it integrates this protocol into the platform. When you install and run Harper, MQTT is already enabled out of the box—no configuration, provisioning, or third-party services required. The broker runs on the standard MQTT ports, supports authentication by default, and includes WebSocket capabilities for modern applications. Developers can begin publishing and subscribing immediately using any MQTT client or library in languages like JavaScript, Python, or even command-line tools.

Even more compelling is Harper’s ability to persist retained messages directly into a table. In the example from the video, a simple temperature sensor publishes readings to a topic. When retained mode is enabled, Harper automatically stores each message in a sensors table—no extra wiring, no additional database setup. This makes it possible to combine real-time streams with long-term storage, analysis, and alerting using the same platform.

Harper’s built-in MQTT support allows developers to build IoT, AI-at-the-edge, and event-driven systems in minutes rather than days. With one small, unified runtime providing database, caching, messaging, and application logic, it removes the complexity of managing multiple services and lets you focus on building meaningful real-time experiences.

If you’re exploring MQTT or building sensor-driven applications, this demo shows just how much faster—and simpler—the process can be with Harper. Check out the video and follow along with the sample code to get started.

Learn how MQTT works and see a real-time demo using Harper’s built-in MQTT broker. Discover topics, Pub/Sub, QoS, retained messages, and how Harper simplifies IoT and edge data workflows. Watch how to publish, subscribe, and store sensor data instantly with an easy, developer-friendly setup.

Download

White arrow pointing right
Learn how MQTT works and see a real-time demo using Harper’s built-in MQTT broker. Discover topics, Pub/Sub, QoS, retained messages, and how Harper simplifies IoT and edge data workflows. Watch how to publish, subscribe, and store sensor data instantly with an easy, developer-friendly setup.

Download

White arrow pointing right
Learn how MQTT works and see a real-time demo using Harper’s built-in MQTT broker. Discover topics, Pub/Sub, QoS, retained messages, and how Harper simplifies IoT and edge data workflows. Watch how to publish, subscribe, and store sensor data instantly with an easy, developer-friendly setup.

Download

White arrow pointing right

Explore Recent Resources

Blog
GitHub Logo

5 Architectures for Web Personalization

Personalization is a data-delivery problem. Every architectural choice reduces to two distances: compute to user, and compute to fresh data. This piece maps five real architectures against both axes, scored on a concrete retailer workload where stale or slow data breaks the business.
Blog
Personalization is a data-delivery problem. Every architectural choice reduces to two distances: compute to user, and compute to fresh data. This piece maps five real architectures against both axes, scored on a concrete retailer workload where stale or slow data breaks the business.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM
Blog

5 Architectures for Web Personalization

Personalization is a data-delivery problem. Every architectural choice reduces to two distances: compute to user, and compute to fresh data. This piece maps five real architectures against both axes, scored on a concrete retailer workload where stale or slow data breaks the business.
Aleks Haugom
Jul 2026
Blog

5 Architectures for Web Personalization

Personalization is a data-delivery problem. Every architectural choice reduces to two distances: compute to user, and compute to fresh data. This piece maps five real architectures against both axes, scored on a concrete retailer workload where stale or slow data breaks the business.
Aleks Haugom
Blog

5 Architectures for Web Personalization

Personalization is a data-delivery problem. Every architectural choice reduces to two distances: compute to user, and compute to fresh data. This piece maps five real architectures against both axes, scored on a concrete retailer workload where stale or slow data breaks the business.
Aleks Haugom
Blog
GitHub Logo

Agentic Engineering Needs an Opinion: Why Scale Starts with Architecture

AI coding works in a sandbox because the environment is trivially narrow. Real systems have history, constraints, and blast radius. Coding agents make sound decisions only when the architecture is explicit and shared. Opinion isn't a constraint on agentic engineering, it's what makes it possible at scale.
Select*
Blog
AI coding works in a sandbox because the environment is trivially narrow. Real systems have history, constraints, and blast radius. Coding agents make sound decisions only when the architecture is explicit and shared. Opinion isn't a constraint on agentic engineering, it's what makes it possible at scale.
A smiling man with a beard and salt-and-pepper hair stands outdoors with arms crossed, wearing a white button-down shirt.
Stephen Goldberg
CEO & Co-Founder
Blog

Agentic Engineering Needs an Opinion: Why Scale Starts with Architecture

AI coding works in a sandbox because the environment is trivially narrow. Real systems have history, constraints, and blast radius. Coding agents make sound decisions only when the architecture is explicit and shared. Opinion isn't a constraint on agentic engineering, it's what makes it possible at scale.
Stephen Goldberg
Jun 2026
Blog

Agentic Engineering Needs an Opinion: Why Scale Starts with Architecture

AI coding works in a sandbox because the environment is trivially narrow. Real systems have history, constraints, and blast radius. Coding agents make sound decisions only when the architecture is explicit and shared. Opinion isn't a constraint on agentic engineering, it's what makes it possible at scale.
Stephen Goldberg
Blog

Agentic Engineering Needs an Opinion: Why Scale Starts with Architecture

AI coding works in a sandbox because the environment is trivially narrow. Real systems have history, constraints, and blast radius. Coding agents make sound decisions only when the architecture is explicit and shared. Opinion isn't a constraint on agentic engineering, it's what makes it possible at scale.
Stephen Goldberg
Blog
GitHub Logo

Building a Cozy Sandbox Game on Harper

A nature-restoration game with six biomes, 150 animals, and a real food web — built with a single Harper component as the entire backend. One YAML file wires the database, API, content seeder, and static host. The same binary ships offline on itch.io.
Shell
Blog
A nature-restoration game with six biomes, 150 animals, and a real food web — built with a single Harper component as the entire backend. One YAML file wires the database, API, content seeder, and static host. The same binary ships offline on itch.io.
Person with long wavy brown hair wearing a bright pink shirt with a teal trim, smiling outdoors in soft sunlight with blurred trees in the background.
Bailey Dunning
Forward Deployed Engineer
Blog

Building a Cozy Sandbox Game on Harper

A nature-restoration game with six biomes, 150 animals, and a real food web — built with a single Harper component as the entire backend. One YAML file wires the database, API, content seeder, and static host. The same binary ships offline on itch.io.
Bailey Dunning
Jun 2026
Blog

Building a Cozy Sandbox Game on Harper

A nature-restoration game with six biomes, 150 animals, and a real food web — built with a single Harper component as the entire backend. One YAML file wires the database, API, content seeder, and static host. The same binary ships offline on itch.io.
Bailey Dunning
Blog

Building a Cozy Sandbox Game on Harper

A nature-restoration game with six biomes, 150 animals, and a real food web — built with a single Harper component as the entire backend. One YAML file wires the database, API, content seeder, and static host. The same binary ships offline on itch.io.
Bailey Dunning
Blog
GitHub Logo

Your Website was Built for Humans. AI Needs Something Cleaner.

The web spent a decade optimizing for browsers. JavaScript-heavy rendering, dynamic CMS templates, and client-side hydration made pages beautiful and machines blind. AI answer engines retrieve, parse, and cite content directly. If your best content is trapped behind a render cycle, a cleaner source wins.
A.I.
Blog
The web spent a decade optimizing for browsers. JavaScript-heavy rendering, dynamic CMS templates, and client-side hydration made pages beautiful and machines blind. AI answer engines retrieve, parse, and cite content directly. If your best content is trapped behind a render cycle, a cleaner source wins.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM
Blog

Your Website was Built for Humans. AI Needs Something Cleaner.

The web spent a decade optimizing for browsers. JavaScript-heavy rendering, dynamic CMS templates, and client-side hydration made pages beautiful and machines blind. AI answer engines retrieve, parse, and cite content directly. If your best content is trapped behind a render cycle, a cleaner source wins.
Aleks Haugom
Jun 2026
Blog

Your Website was Built for Humans. AI Needs Something Cleaner.

The web spent a decade optimizing for browsers. JavaScript-heavy rendering, dynamic CMS templates, and client-side hydration made pages beautiful and machines blind. AI answer engines retrieve, parse, and cite content directly. If your best content is trapped behind a render cycle, a cleaner source wins.
Aleks Haugom
Blog

Your Website was Built for Humans. AI Needs Something Cleaner.

The web spent a decade optimizing for browsers. JavaScript-heavy rendering, dynamic CMS templates, and client-side hydration made pages beautiful and machines blind. AI answer engines retrieve, parse, and cite content directly. If your best content is trapped behind a render cycle, a cleaner source wins.
Aleks Haugom