Mike Kemboi

Nairobi, Kenya

Hi, I'm Mike. I'm curious about how things work.

This is my corner of the internet: notes on learning technology, one step at a time, and the questions that keep pulling me further in.

Most things feel like magic until you take them apart.

The short version of me

I've always been curious about how ordinary things work: how a payment goes through in seconds, how an app knows what to show you next.

That curiosity became a habit. I read, experiment, build small things and rebuild them until they make sense to me. Along the way I've spent time with Django and FastAPI, and with the ideas behind them: routing, data, and the logic that connects it all.

I'm not trying to look like I know everything. I'm trying to understand a little more each week, and to enjoy it while I do.

What I keep wondering about

The questions I keep coming back to.

  • How the web works

    What really happens between a click and the page that appears: requests, routes, databases, responses.

  • How apps talk

    APIs, webhooks and data exchange. The quiet conversations that make apps feel connected.

  • How data decides

    How information gets organised so that someone can make a good decision from it.

  • How problems break down

    Why a huge problem usually turns out to be ten small ones in a trench coat.

Things I've built while learning

Each one started with a question I couldn't stop thinking about.

  • Article · Spotify Web API

    Tap a sticker, move my music

    I was tired of opening Spotify and picking my laptop from the device list every time I sat down. So I stuck an NFC tag on my desk. One tap moves playback between my phone and laptop, and another tap brings it back. I wrote up the whole build, step by step.

    • Spotify Web API
    • OAuth refresh token
    • NFC
    • HTTP Shortcuts
    Read the article
  • Routing · Optimisation

    Routeon: delivery route optimizer

    Given a depot and up to 100 stops, it works out the quickest order to drive them using real road data, not straight-line distance. It shows the route on a map with per-stop ETAs and the time saved versus the order you entered.

    • FastAPI
    • OR-Tools
    • OSRM
    • React
    • Leaflet
    View on GitHub
  • Payments · Django

    M-PESA Daraja STK Push

    A Django project that starts an M-PESA STK push: it gets an access token from Safaricom, builds the request, sends it, and handles the response, so a customer can pay straight from their phone.

    • Django
    • Daraja API
    • requests
    • Python
    View on GitHub
  • Payments · Django

    PayHero Kenya API with Django

    My second take on Kenyan mobile payments: connecting a Django project to the PayHero API to collect payments.

    • Django
    • PayHero API
    • Python
    View on GitHub
More on GitHub

How I learn

The loop I repeat with almost everything.

  1. Notice

    Something works and I can't explain why. That itch is where it starts.

  2. Read

    I look up how it's meant to work, in docs, articles and other people's code.

  3. Build

    I make a small version of it myself, even if it's rough.

  4. Break

    I push it until it fails, because failures teach faster than successes.

  5. Rebuild

    I do it again, cleaner, until it finally makes sense.

Quick facts

  • Based inNairobi, Kenya
  • Learning right nowBackend frameworks, APIs and how data moves
  • Favourite question“Okay, but how does that actually work?”
  • Learning styleHands-on, one small project at a time
  • Languages I code inPython, mostly
  • Say hello aboutTech, ideas, books, or anything you're curious about

Let's talk

Got a question, an idea, or just want to say hi? I'd like to hear it.

@kemboi.dev