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
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
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
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
How I learn
The loop I repeat with almost everything.
Notice
Something works and I can't explain why. That itch is where it starts.
Read
I look up how it's meant to work, in docs, articles and other people's code.
Build
I make a small version of it myself, even if it's rough.
Break
I push it until it fails, because failures teach faster than successes.
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