"The wall is never the end — it's just information about what to build next."
Software developer in Nairobi, Kenya. I build automation, scraping systems and data pipelines — and the tooling that keeps them working when the thing they depend on changes underneath them.
Founder at Sky Tech Solutions.
🧭 ti-matrix — an engine for agents that search, not chat
A run proposes several next actions, probes every one of them against the real world, scores the outcomes, and commits to one — retreating when a branch leads nowhere. So every decision is backed by an observation you can check, and the record holds states, actions and outcomes rather than the model's own account of itself.
Python, standard library only. Four worlds (a hidden maze, a read-only filesystem, a real browser, and chess with a hand-written move generator checked against published perft counts), a desktop inspector for watching a run decide, and an architectural test that fails the build if the engine core ever reaches for an adapter.
🕷 scrapamoja — scraping that assumes the site will change
A Python framework combining Playwright browser automation with direct HTTP extraction, and falling back between them so a pipeline degrades instead of breaking. Selector recovery, DOM analysis, network interception, Cloudflare handling, protobuf decoding.
📈 proxigrid — market intelligence and automation
Observes live markets, derives signals, and automates actions on them. Starts with Binance and is
structured so every venue is just another ExchangeAdapter. Next.js 16, TypeScript, Prisma + PostgreSQL,
realtime streaming over Socket.io.
Tools for understanding systems
- glyph — point it at a web app or JSON API and it catalogs the surface, turning opaque codes and enums into documented meaning. Automates the mechanical majority of reverse-engineering an unfamiliar API.
- PortalLens — investigates captive Wi-Fi portals and keeps an evidence trail, with a hard separation between passive observation and explicitly authorized checks.
- api-scanner · header-extractor — API surface discovery and HTTP debugging.
Products and pipelines
- vert — a portrait-first video platform. Next.js 16, React 19, Prisma + PostgreSQL, NextAuth, Vercel Blob.
- flashscore-scraper — collects historical basketball match statistics; the data engine behind ScoreWise, an over/under prediction model built on team form, head-to-head records and scoring rhythm.
- Task2SMS — SMS notifications driven by task conditions and schedules.
Developer tooling
- context-ledger — the engineering protocol I run projects on: decisions, backlog and session history kept in the repo, so the next session starts informed.
- agentfile — a file format and CLI for describing AI-driven workflows in YAML and Markdown.
- bmad-crew — reduces coordinator load during multi-agent development sessions.
- crawlspec — a specification format for describing crawl targets and extraction rules.
Building ti-matrix — most recently a chess world to give the search a fan worth the name, and making the engine honest about when it learned something, for worlds that change while a run is still deciding.
📍 Nairobi, Kenya · Open to opportunities

