Based in Nairobi · open to remote

    IanMuchiri.

    Software engineer building IoT platforms and web applications.

    Working on

    I work at Abstract Machines, where I lead the UI development for Magistrala, an open-source IoT platform. I build backend services and web interfaces using Go, TypeScript, and Next.js.

    // 01 About

    Building software for connected systems.

    01 / 07

    My work covers device management, telemetry, real-time messaging, alarms, reporting, authentication, and API integrations. I focus on making complex platforms easier to operate through clear interfaces and reliable backend services.

    Before joining Abstract Machines, I worked on client projects at Ultraviolet Consult and led the telemetry team for the Nakuja student rocket project at JKUAT. I also co-founded Threal ITL, a web development company based in Nairobi.

    0+
    Years shipping
    0+
    Tech in rotation
    0+
    Articles published
    0
    Companies worked
    // 03 Experience

    Experience

    Software engineering roles across IoT, web platforms, developer tools, and telemetry systems.

    03 / 07
    Software Engineer
    Abstract Machines·open-source IoT platformcurrent
    Mar 2025 – present
    Co-founder
    Threal ITL·Nairobi web development companycurrent
    Nov 2023 – present
    Software Engineer
    Ultraviolet Consult·client work across fintech & edtech
    Apr 2023 – Feb 2025
    Telemetry Team Lead
    Nakuja Project·student rocketry, JKUAT
    May 2022 – Dec 2022
    Network Engineer Intern
    Progressive Credit LTD
    Jan 2021 – May 2021
    // 04 Selected work

    Selected projects

    A selection of open-source platforms, internal products, and client projects I have worked on.

    04 / 07
    01 · flagship
    Team Lead · Next.js · TypeScript · Go

    Magistrala IoT Platform UI

    A web interface for managing users, devices, groups, channels, policies, telemetry, alarms, reports, and other Magistrala services. Built with Next.js and TypeScript, it handles authentication, multi-tenant domains, real-time message visualization, and dashboard building.

    Live demoTeam Lead
    02
    Frontend Engineer · Fumadocs

    Magistrala Website

    The product and documentation website for Magistrala, designed to help users understand the platform, review its capabilities, and start using it.

    Next.jsTypeScriptFumadocsTailwind
    03
    Backend · Go · Lua

    Rules Engine

    A Go service that allows users to define Lua-based rules for processing IoT messages and triggering actions.

    04
    Co-Founder · Next.js

    Threal International

    The website for Threal ITL, a Nairobi-based web development company I co-founded to build websites and web applications for clients.

    05
    Frontend · Next.js · Strapi

    Beadani E-commerce

    An e-commerce website for handmade Kenyan beadwork, with Strapi used to manage products and other store content.

    Approach

    How I approach software development

    I prefer established technologies, clear architecture, and software that is easy to operate and maintain. My usual stack includes Go, PostgreSQL, TypeScript, and Next.js, selected according to the needs of the product rather than novelty.

    More work

    Additional work

    Other projects include internal platforms, client systems, experiments, and work that is not publicly accessible. Get in touch if you would like to hear more about any of it.

    // 05 Stack

    Tools and technologies

    The languages, frameworks, and infrastructure I use most often.

    05 / 07
    HTML
    CSS
    Javascript
    Typescript
    React
    Next JS
    Tailwind
    PostgreSQL
    Git
    Bootstrap
    Docker
    Go
    Markdown
    Ubuntu
    Strapi
    // 06 Education

    Education

    My academic background in telecommunications, information engineering, and software systems.

    06 / 07
    2017 – 2022 · Undergrad

    B.Sc. (Engineering)

    Jomo Kenyatta University of Agriculture & Technology
    First-class honorsJKUATNairobi, KE
    2013 – 2016 · High school

    KCSE Certificate

    Pioneer School, Murang'a
    Grade · A-Murang'a, KE
    // 07 Writing

    Writing

    Articles and guides on web development, IoT platforms, and the tools I work with.

    8 / all writing →
    17 Feb 2026
    Building a Scriptable Rules Engine for Real-Time IoT Message Processing
    Learn how we built a dynamic, scriptable Rules Engine that enables real-time IoT message transformation using Lua and Go, complete with scheduling, observability, and a visual UI.
    5 min
    06 Feb 2026
    Getting Started with Magistrala UI
    A complete guide to the Magistrala UI: manage IoT devices, domains, messaging, rules, alarms, dashboards, and reports through a visual interface.
    10 min
    14 Jan 2026
    Why We Started Threal International
    Discover why Threal ITL was founded and how we aim to help businesses in Kenya build faster, more secure, and more effective websites that actually work.
    4 min
    19 Dec 2025
    Getting “Verified” Commits on GitHub
    Learn how to get that reassuring "Verified" badge on your GitHub commits using GPG signing.
    2 min
    08 Dec 2025
    🎨 Lighting Up Your World: External LEDs and Digital Control
    Go beyond the built-in LED: learn to wire and control external LEDs with your ESP32 using digital output pins.
    8 min
    04 Dec 2025
    🚀 ESP32 Adventures: Your First Steps into the IoT Universe!
    Get started with ESP32 microcontrollers using PlatformIO and VS Code: blink your first LED and enter the IoT universe.
    6 min
    03 Dec 2025
    How to Add Mailchimp Subscribe & Unsubscribe Functionality to Your Next.js App (Step-by-Step Guide)
    A step-by-step guide to integrating Mailchimp subscribe and unsubscribe functionality into your Next.js app.
    5 min
    07 Mar 2025
    Enhancing User Security: Implement a Password Strength Checker in a Next.js Project
    Learn how to add a real-time password strength checker to a Next.js registration form.
    7 min
    // 08 Contact

    Have a project or opportunity in mind?

    Share what you are building, the problem you are trying to solve, or the kind of support you need.

    I'll reply from ianmuchiri8@gmail.com within ~24h.