Abdalla Yahya

Abdalla yahya

Backend Developer Node.js

IoT & Embedded Systems (Qt/QML, C++)

About Me

Backend & IoT engineer building end-to-end systems from firmware to cloud.

5+ years delivering backend and IoT solutions with Node.js, NestJS, TypeScript, PostgreSQL, MongoDB, and Redis; 3+ years in embedded/UX with C++, Qt/QML, ESP32/ESP8266, and Raspberry Pi. I ship REST/GraphQL microservices, real-time telemetry (MQTT, Socket.IO), and dashboards on AWS (EC2/S3) with solid authentication, caching, and observability.

Delivered ERP/POS & e-commerce backends, custom IoT pipelines, and device-to-cloud integrations-turning loosely defined problems into maintainable, production systems with measurable performance and reliability gains.

I design scalable backends and integrate IoT devices into real-world, production systems.

Latest Projects


YouTube video

Raspberry Pi 3: 8 Temp Sensors - Qt/QML Real-Time Dashboard

Overview: A live Qt/QML dashboard reading eight temperature channels on Raspberry Pi 3 with real-time updates and smooth UI.

  • Hardware: Raspberry Pi 3, 8 temperature sensors (e.g., DS18B20 / 1-Wire)
  • UI: Qt 5 / QML charts, live updates, responsive layout
  • Processing: Basic smoothing and per-channel display
  • Notes: Designed for quick monitoring and future alarms

Watch video


YouTube video

Custom Thermo Gauge - Qt/QML on Raspberry Pi (Touch UI)

Overview: Real-time thermometer gauge with smooth needle animation, color zones, and a responsive Qt/QML touch UI.

  • UI: Qt/QML (QtQuick), custom gauge component
  • Perf: eased motion, stable frame updates
  • Input: live sensor/MQTT feed with basic smoothing

Watch video


YouTube video

Pi Motion Sensor - ffmpeg/ffserver Stream + MQTT + SMS (Gammu)

Overview: Motion-triggered pipeline: PIR detection starts a live video stream via ffmpeg/ffserver, sends an MQTT alert, and delivers an SMS via Gammu.

  • Hardware: Raspberry Pi (+ USB camera), PIR motion sensor
  • Streaming: ffmpeg/ffserver (auto-start on motion), basic preview
  • Messaging: MQTT publish (alert topic), SMS via Gammu
  • Flow: Detect - Stream on - Notify (MQTT + SMS) - Stream off (timeout)

Watch video


YouTube video

ESP8266 Custom PCB Walkthrough - Layout & Components

Overview: Quick tour of my custom ESP8266 board: component choices, power design (LDO/decoupling), RF layout considerations, and bring-up notes.

  • Hardware: ESP8266, custom PCB (KiCad/Altium)
  • Interfaces: UART, SPI, GPIO (breakouts & test points)
  • Notes: Current draw measurements, Wi-Fi RSSI, next-rev improvements

Watch video


YouTube video

ESP OS Test - MQTT Messaging with Raspberry Pi Touch UI

Overview: End-to-end MQTT messaging between a custom ESP board and a Raspberry Pi with a touch UI. Publish/subscribe flows demonstrate real-time updates and a responsive interface.

  • Hardware: ESP8266/ESP32 (custom board), Raspberry Pi + touch display
  • Protocol: MQTT (topics, QoS, retained messages), bidirectional flow
  • UI: Raspberry Pi touch UI (Python/Qt or lightweight toolkit), instant feedback
  • Broker: Mosquitto; phone/CLI publishers for quick testing

Watch video


YouTube video

LED Matrix - ESP8266 MQTT Live Text

Overview: Type on your phone - message is published via MQTT - rendered on the LED matrix in real time.

  • Hardware: ESP8266 (custom board), LED matrix (e.g., 64x16)
  • Protocol: MQTT (QoS 1), topic design, retained messages
  • Firmware: C/C++ (Arduino core), non-blocking update loop
  • Broker: Mosquitto; quick testing via a phone publisher

Watch video


YouTube video

Pharmaceutical ERP Design

Overview: Pharmgey is a full-stack ERP system designed for pharmaceutical warehouses and pharmacies. It streamlines online ordering, inventory control, and centralized reporting using modern web technologies.

  • Pharmacy Interface - Built with Next.js: browse products, place orders, view invoices
  • Warehouse Dashboard - Built with Nest.js: manage stock, process orders, print invoices
  • Admin Panel - Central control over warehouses, customers, and financial reports
  • Tech Stack: Nest.js-Next.js-Node.js-MongoDB-REST API-JWT Authentication-CSV Import

Full play list


YouTube video

QT-QML Image Editor (Raspberry Pi)

Image editor on Raspberry Pi with touch screen support.

  • Edit (Brightness - Blackness - Contrast - Blur) using QtGraphicalEffects
  • Paint on image using canvas with color selection
  • Upload image using Qt.labs.platform 1.1
  • Supports virtual keyboard (Qt Virtual Keyboard)
  • Save image using grabToImage, and select path through a custom QML-based file dialog. This was necessary because Qt Virtual Keyboard does not receive input focus from the default Qt.labs.platform 1.1 FileDialog in QML. Since the goal was to use QML only (without C++), I implemented a custom file dialog to solve this issue.

YouTube video

QT-QML Image Editor (Desktop App)

Image editor on Ubuntu using Qt/QML.

  • Brightness, Contrast, Blur controls
  • Canvas drawing with color selection
  • Image upload & save via Qt.labs.platform 1.1

mongo

Qt6 Quick MongoDB Plugin

Developed a custom Qt plugin that wraps the MongoDB C Driver into a C++ class and exposes full database functionality to QML. This allows performing MongoDB operations directly from QML without writing C++ in the application logic.

  • Connected QML to MongoDB with a reusable plugin
  • Supports full CRUD operations (insert, update, delete, find, aggregate, count)
  • Wrapped MongoDB C Driver inside Qt C++ backend
  • Real-time message output via onMongoMessage signal
  • Easy to import in any Qt 6 QML project: import QtQuick.MongoDB

GitHub


YouTube video

Smart Waiter Delivery Robot (Prototype)

Autonomous food delivery robot built using Raspberry Pi 4 and Qt/QML. It navigates between tables using motor control and obstacle detection after selecting a table via touchscreen.

  • Touch interface (Qt/QML) for table selection
  • Obstacle detection via ultrasonic sensor
  • Autonomous return-to-kitchen after delivery
  • 4 DC motors with directional logic in C++

Other Projects

Mall Wi-Fi Hotspot & Advertisement System

A marketing-focused Wi-Fi system for malls built using Raspberry Pi 3, providing customers with internet access via a captive portal that displays real-time store offers and collects user contact data. Each store can submit its own banner and promotion, paying a monthly subscription to appear in the login interface.

  • Customers are required to enter their email and phone number and verify via SMS to access the internet.
  • Collected contact information is stored securely for future marketing campaigns.
  • An admin panel allows adding/editing/removing stores, updating offers, and managing subscriptions.

Technologies Used: Node.js, HTML/CSS/JavaScript, MySQL, Raspberry Pi 3, CoovaChilli

Remote Server Monitoring & Control System

Company: Remnum
Role: Lead Developer
Tech Stack: Node.js, MQTT, Socket.IO, OS module, Linux, JavaScript

Developed a full server monitoring and control system using Node.js.
Each monitored server runs a lightweight agent script (child.js) that:

  • Publishes real-time data (IP, memory usage, disk usage, MAC address, hostname, uptime) over MQTT
  • Subscribes to command topics to receive remote control instructions

The central server:

  • Subscribes to all data topics and renders them in real-time via Socket.IO
  • Sends back commands over MQTT which are executed by the child agents
  • Displays the command outputs in a terminal-like interface within a dashboard

The system allowed:

  • Real-time monitoring across distributed servers
  • Remote command execution securely
  • Integration with Linux OS metrics using the native os module

Work Experience

Freelance Embedded/IoT Engineer - Self-employed | (part-time, concurrent) (2019 - Present)

Location: Remote

  • Designed ESP8266/ESP32 firmware with MQTT (QoS 0/1, retained, LWT) and topic schema; strong Mosquitto configuration (TLS).
  • LED Matrix - MQTT live text: phone - broker - ESP render; sub-200 ms publish-to-render path.
  • Motion-triggered pipeline: PIR - FFmpeg/ffserver live stream + MQTT alert + SMS (Gammu); auto start/stop.
  • Qt/QML dashboard (RPi): 8-channel temperature with smoothing & thresholds; custom gauge widgets.
  • ESP8266 custom PCB: power/RF layout notes, test points, bring-up, current/RSSI measurements.
  • Stack: C/C++, Python, MQTT/Mosquitto (TLS), Qt/QML, Raspberry Pi, UART/SPI/I²C/GPIO/PWM/ADC, FFmpeg, Gammu, Docker.

Back End & IoT Systems Developer - Prosoft Solutions (10/2023 - 08/2025)

Location: Saudi Arabia

  • Built NestJS REST/GraphQL services; integrated MQTT telemetry and Qt/QML dashboards alongside backend work.
  • Co-built a full-stack ERP + POS and eCommerce for medical-pharma multi-branch inventory, expiry, purchasing-sales invoicing-VAT, suppliers-returns, users-roles, audit logs; plus accounting, procurement, project management, risk & compliance, and supply chain modules.
  • Delivered 4 NestJS microservices on AWS (EC2, S3) exposing REST & GraphQL APIs; designed PostgreSQL schemas.
  • Implemented S3 pre-signed & multi-part uploads (< 5 GB) with retries/monitoring; raised upload success and availability for images/docs.
  • Analyzed and streamlined business cycle - improved efficiency across warehouses, sales, and customer interactions.

Backend Developer - Code Chef (06/2021 - 08/2023)

Location: Egypt

  • Developed & refactored ERP-POS & e-commerce backends (Nest.js, Express.js).
  • Built a GraphQL gateway with Redis caching - increased RPS ~30% without extra infra cost.
  • Built a full-stack server monitoring & management system using Node.js and MQTT for real-time communication.
  • Deployed a lightweight agent on each server to publish live IP, CPU/memory usage, disk space, MAC address, uptime/health via MQTT topics; UI updates via Socket.IO; improved incident response with low-latency telemetry.

Mid-Level Embedded Software Engineer (IoT) - RemnumOffice (01/2020 - 12/2021)

Location: Egypt

  • Developed Qt6QuickMongoDB QML plugin by wrapping the MongoDB C Driver in C++; registered typed APIs with QQmlEngine for async CRUD, connection pooling, signals/slots; packaged with CMake for Linux-ARM (Raspberry Pi) - ~70% decrease in MongoDB integration effort per project.
  • Built Raspberry Pi CoovaChilli captive portal (DHCP/DNS/iptables) with Twilio SMS/email promotions - boosted mall sales by ~25%.
  • Delivered an ESP8266 custom-PCB solution with real-time MQTT telemetry and a Raspberry Pi touchscreen dashboard; threshold alerts (temp/humidity/gas/fire) via Twilio SMS/email; contributed firmware topic schema while teammates handled PCB revisions and server dashboards.

Junior Embedded Software Engineer (IoT) - RemnumOffice (01/2018 - 01/2020)

Location: Egypt

  • Built an image editor using Qt/QML/C++ for Ubuntu desktop and Raspberry Pi touch screen.
  • Learned Linux CLI basics; installed Raspberry Pi OS (Stretch), enabled SSH, and configured system files.
  • Integrated sensors (temperature, gas, motion) and Raspberry Pi camera; read data via I²C/SPI/UART/GPIO using wiringPi and published via MQTT.
  • Integrated IoT devices with AWS IoT Core and Lambda functions (DynamoDB).
  • Built a car security system: motion detection triggers FFmpeg/ffserver video stream and SMS alerts via Gammu over GSM.