Your browser does not support impress.js.

This deck needs CSS 3D transforms. Please open it in a current version of Chrome, Firefox, Safari, or Edge.

Part 1 · The Hooks What messaging protocols do apps use beyond plain HTTP REST?
Part 1 · The Hooks Learn a tool stack you can use for pure web applications and later scale into IoT, firmware, and hardware.
Part 1 · The Hooks Master deploying cloud environments by practicing first on a local Linux SSH server.
Build with Kiro CLI

MQTTon EC2

Deploying MQTT on EC2 (Equivalent)
in Lieu of HTTP REST for Web Messaging and IoT
A hands-on workshop · AWS User Group Cebu
Kiro CLI Mosquitto Linux · SSH IoT
Part 2 · Expectations

Real talk, and our goal

Core goal: kickstart your journey, help you build things with MQTT, and prepare you for future software, hardware, and IoT projects.

Part 3 · Kiro

Kiro introduction and credits

What is Kiro? An agentic development environment that turns plain English specification into working code, tooling, and terminal workflows.

Action pause. Redeem your credits and confirm your tier now. Raise your hand for login or access errors and we fix it together.

Part 3 · Kiro

Kiro history and spec-driven value

Chat promptsloose
→
Agentic IDEtools
→
Spec-drivensteering

Steering via a single plain English file such as project.md beats unstructured chat prompts: the intent stays stable, reviewable, and repeatable across sessions.

Part 3 · Kiro

Kiro versus closed platforms

Under the hood: Kiro harnesses powerful models such as Claude or Sonnet. Raw model quality is the engine, not the whole vehicle.

What Kiro adds: a spec-driven workspace and orchestration harness that manages context, files, tools, and execution order, so you keep strict control over your code generation.

Tip: use Kiro as your real-time learning assistant. Ask it to explain every command before you run it.

Part 4 · Foundations

History and reach of Linux and Unix

Interactive check. Who here uses Linux or Unix devices?

Reveal: Your iPhone runs iOS on Darwin, a direct descendant of Unix. Your Android phone runs the Linux kernel. Your pocket is full of Unix and Linux.

You have been using Unix and Linux for years without calling it that. Today we just give it a terminal.

Part 4 · Foundations

Linux and SSH terminal basics

# connect to your server
ssh user@host

# confirm who and where you are
whoami
hostname
uname -a

# packages need root
sudo apt update
Part 4 · Foundations

HTTP REST versus MQTT

PollingClient asks again and again, wasting requests and battery to discover nothing changed
HeadersEvery REST call carries kilobytes of text overhead before any payload
Real timeNeeds WebSockets or SSE bolted on just to fake a push
DevicesSensors on constrained networks cannot afford HTTP round trips
Part 4 · Foundations

What is MQTT?

Publishersends to topic
→
Brokertopic router
→
Subscriberreceives match
Part 5

Hands-On Build

Install the broker, test it in the terminal, then prompt Kiro for the web app.

Track A · Terminal

Install Mosquitto on Linux

# install the broker and clients
sudo apt update
sudo apt install -y mosquitto mosquitto-clients

# start it and check it
sudo systemctl enable mosquitto
sudo systemctl start mosquitto
sudo systemctl status mosquitto
Track A · Terminal

Test pub and sub by hand

# terminal 1: subscribe
mosquitto_sub -h localhost -t workshop/chat

# terminal 2: publish
mosquitto_pub -h localhost -t workshop/chat -m "hello"

Two terminals is the whole lesson. One listens, one talks, the broker connects them.

Track B · Kiro

The project.md steering file

# Project: Minimal MQTT Chat WebApp and Linux Broker Setup

## Objective
Help the user learn how to set up an MQTT broker on a Linux SSH server,
test it using terminal commands, and build a barebones web application
to demonstrate real-time pub/sub messaging.

## Tech Stack
- Broker: Mosquitto MQTT Broker running on Linux via SSH
- Terminal Tools: `mosquitto_pub` and `mosquitto_sub`
- Web Frontend: Simple HTML, CSS, and JS using MQTT.js via CDN

## Core Requirements
1. Linux and SSH Instructions: Provide clear terminal commands to
   install and start Mosquitto on Linux.
2. Terminal Testing: Show how to open two terminal windows to publish
   and subscribe to a test topic (`workshop/chat`).
3. Chat WebApp: Generate a single `index.html` file with a basic input
   field, send button, and raw message log box without complex styling.
Track B · Kiro

Prompting Kiro for the web app

Leverage the steering file to have Kiro generate a barebones web app tied to the broker. One file, no build step, no framework.

ConnectMQTT.js client points at the broker WebSocket port
SubscribeClient listens on workshop/chat and appends incoming text to the log
PublishSend button publishes the input value to the same topic
Part 5 · Live Showcase

Real-time messages across browsers

Browser Apublishes
→
Mosquittoon Linux
→
Browser Breceives
→
Browser Creceives

Open two or more tabs. Every connected browser joins the topic and updates instantly, with no refresh and no polling. The SSH subscriber prints the same message, proving one broker serves all clients.

Closing

Wrap-up and Q&A

You have a broker running on Linux, a terminal-proven pub/sub path, and a browser client you built by describing it.

Community

What we do together

Connect With Us

Visit our central hub: awsugcebu.org

Meetup QR

Meetup
Meetup.com Group

Luma QR

Luma
lu.ma/awsugcebu

Messenger QR

Messenger
m.me/awsugcebu

Facebook QR

Facebook
facebook.com/awsugcebu

Point your phone camera at any QR code above to join our events, chats, and social channels.

AWS Community Day Cebu

September 12, 2026 at UP Cebu

Join us for the biggest community-led cloud and software engineering conference in the region.

Discounted student and early-bird tickets available.

Grab your tickets: commday2026.awsugcebu.org

AWS UG Cebu MQTT on Linux with Kiro CLI · arrow keys, space, or swipe
1 / 24
START ↻