Based in Nairobi · open to remote

    IanMuchiri.

    Engineer of calm interfaces.

    — from IoT dashboards to scriptable rules engines. I care about the boring parts: clean APIs, legible type, and pages that load before you notice.

    § 01 — About

    Code that behaves. Interfaces that explain themselves.

    01 / 07

    I’m a software engineer who enjoys the unglamorous middle — the wiring between services, the empty-state copy, the 200ms that decides whether a page feels fast. Currently building Magistrala, an open-source IoT platform, at Abstract Machines.

    Before that I spent two years at Ultraviolet Consult shipping client work, co-founded a small web studio called Threal ITL, and once led telemetry for a student rocket program. I learn fast, write often, and I don’t argue about tabs vs spaces.

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

    A short career, condensed.

    03 / 07
    Software Engineer
    Abstract Machines·open-source IoT platformcurrent
    Mar 2025 — present
    Co-founder
    Threal ITL·Nairobi web studiocurrent
    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

    Things I built, things they do.

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

    Magistrala IoT Platform UI

    A dense, keyboard-friendly dashboard for managing thousands of devices — live telemetry, rules, alarms, dashboards, reports. The kind of UI that gets used at 2am when something's on fire.

    Live demoTeam Lead
    02
    Frontend Engineer · Fumadocs

    Magistrala Website

    Marketing site plus developer docs. The hand-off from “curious” to “building” takes two clicks.

    Next.jsTypeScriptFumadocsTailwind
    03
    Backend · Go · Lua

    Rules Engine

    Scriptable rules microservice. Lua for logic, Go for speed.

    04
    Co-Founder · Next.js

    Threal International

    Performance-first studio site, client-attracting.

    05
    Frontend · Next.js · Strapi

    Beadani E-commerce

    Handcrafted Kenyan beadwork shop, headless CMS backed.

    Philosophy

    Boring tech, sharp taste.

    I reach for the proven stack, then spend the saved hours on the interaction details that actually matter.

    More work

    Not everything ships in public.

    Ask me about the internal tools, side projects, and experiments that didn't make it here.

    § 05 — Stack

    The tools in rotation.

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

    Where I picked up the fundamentals.

    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

    Occasional notes.

    07 / 07
    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 powerful 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

    The easy way to start a conversation.

    Got a project, a bug, or just a half-formed idea on a sticky note? Send it over. I reply to most messages within a day.

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