Skip to content
View kenmwara's full-sized avatar
💭
🚀 Shipping T BOT subscriber client + OddsEdge AI sports-intelligence subs
💭
🚀 Shipping T BOT subscriber client + OddsEdge AI sports-intelligence subs

Block or report kenmwara

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kenmwara/README.md

Hi, I'm Ken 👋

I build systems that have to hold up at 3 AM, when nobody is watching: a portfolio of products out of Vancouver, BC, plus a small web studio for client sites. I build, ship, and run automated systems end-to-end — strategy, code, Cloudflare infrastructure, native mobile, payments, content, analytics, customer ops.

Most of what I work on makes money rather than stars, so my public footprint is selective. The repos below are showcases — architecture, decisions, and screenshots — without the moats (strategy logic, conversion copy, customer lists). Every live product is linked and pictured; the full portfolio page is at tbot.trade/portfolio.


🚀 What I'm operating

T BOT — autonomous trading on prediction markets: one rules-based live strategy, 24/7, behind a 14-layer guard chain with fifteen codified disciplines. Every lane is billed for its own exchange fees and Claude spend, and goes live only when its record earns it; forex, equities, crypto and macro integrations are built into the same engine. The books are rebuilt every night from the exchange's own records and must close to its reported cash within $5. Copy-trade subscriber pilot with Stripe billing. Rebuilt from git + the secrets vault to live trading in one evening after a total server loss (Sept 2026). Live demo: tbot.trade/demo.

tbot.trade/demo: the real T BOT operator dashboard on synthetic data  T BOT Emergency controls: every lane with Go live or To paper and Restart and review; every action asks first

JobScout — AI job-search copilot, shipped as a product. Public demo at jobscout.page: the pipeline's real daily sweep scored live by Claude with the reasoning shown, the deterministic gate verdicts underneath as receipts — behind a per-visitor rate limit and a daily budget breaker that degrades honestly instead of pretending. It carries its own design system: the mark is a bearing rose, and a posting's fit lights its eight bearings. The same guarded API has fully native Android (Kotlin · Jetpack Compose) and iOS (Swift · SwiftUI) clients that draw that rose from identical geometry — both green in Codemagic CI, both auto-built on push. The private pipeline behind it sweeps ~1,800 postings a day and applies to jobs as me — a human clicks every Submit. September 2026: a resume helper whose every line must trace to the candidate's own profile, a signed Android build in Google Play's closed test, and a second market — nairobi.jobscout.page, the same sweep re-gated for a hire based in Kenya, with the question most "remote" postings dodge answered first.

jobscout.page — “Find the work made for you.”: type a job title or attach a résumé, then pick remote, hybrid or on site  nairobi.jobscout.page — “Browse by what the feed actually knows”: today’s Kenya sweep of 357 postings, split by sector  JobScout on Android — live scoring: the bearing rose lit to each fit

T BOT Web Studio — a web studio with its own front door at studio.tbot.trade: a live canvas point-cloud, a numbers section that states the studio's actual record rather than adjectives, and a commission flow. Client sites are designed in Chat and shipped by Code on Cloudflare Pages — fixed-price builds plus a recurring care plan. Latest: Sacred Earth, a Uganda travel brand's field-guide site — a scroll-driven descent down Uganda over a canvas point-cloud of the country, eight stations from Wagagai at 4,321 m to the Nile, each pinned and figure-led as you fall through it. Self-hosted fonts, every ship link-checked and console-clean before it goes live.

T BOT Studio — “A different approach to the web” beside a drifting point-cloud rendered live on canvas  Sacred Earth — the Descent: walked down from 4,321 metres, over a canvas point-cloud of Uganda

S-Ryder — the operating app for a one-bike delivery business in Nairobi, running its real deliveries. One Cloudflare Worker and D1 behind an installable web app, with four views behind two PINs (the rider’s opens only the rider screen): the dispatcher books a job and gets a tracking link, the rider starts a shift and closes each delivery with a proof-of-delivery photo, Fleet shows where the bike is and when it is due a service, and Money gives the week's numbers and each client's statement. The client opens the link with no login and watches the delivery on a map, updated every minute. The rider's phone reports only while a shift is on, and a delivery taken with no signal is kept and sent once. Thirteen checks run on every push. They cover the business end to end, what a rider PIN can and cannot open, tap targets and offline delivery, and a claims check that fails if the app states something it has not measured. (Screenshots: sample data, not real clients.)

S-Ryder client link — “On the way”: booked, picked up at 14:12, the rider’s route across Nairobi to Karen on a map  S-Ryder rider view — start shift, then each delivery closed with “Delivered · photo”  S-Ryder Fleet — where the bike is now, today’s movement, and odometer, service and insurance position

Unified Ops Dashboard — one dashboard, every product, single Cloudflare-native data plane. D1 + Workers + Pages + Email Routing wired into an append-only event store, behind Cloudflare Access. The platform every other product reports into.

ops.tbot.trade — fleet health pills, flags, scheduler queue, one tile per product, per-project System health cards

T BOT Security Operations — intrusion detection, a SIEM on the same event store, and a SOAR console with response playbooks, guarding the live-money trading system. It catches a misused exchange key by reconciling the exchange's own fills against the bot's log, and a nightly red team from GitHub Actions attacks the system from outside with a mutation-tested harness, so a check that cannot fail never counts as a pass.

SOAR Incidents — detections grouped by family, day and source IP, each worked from open to resolved with a note  SIEM Live logs — SSH, firewall, fail2ban and web security events streaming in as they happen, with source IP and country

tbot-client — open-source Python client that runs on subscriber machines and places orders against the subscriber's own broker (the original signal-feed model; the live pilot now runs a server-side copy-trade engine with encrypted per-subscriber API keys).

OddsEdge — AI sports-intelligence subscription — "an AI analyst in your inbox every morning." A daily Claude-written brief delivered over email + Telegram, free-teaser → paid-full tiers, with an auto-graded public track record. Niche-agnostic engine (a new vertical is one JSON config + a cron line), Cloudflare-native, autonomous on a droplet, Whop-billed. Live: oddsedge.win.

oddsedge.win — an AI analyst for sports value betting: best price vs fair, the edge quantified, no invented picks

Content Studio — AI film studio — a two-channel autonomous documentary studio: Zamani ("Africa, before you were told" — a film every Sunday) and The Fortune Files (the full arc of money & power from court records and filings — every Thursday). Evidence-driven research Brain, audio-first assembly, letter-by-letter frame proofreading, a measured multi-model supply chain (Gemini, Veo 3, Kie), and a pre-render validator that gates every film.

Zamani on YouTube — a new film every Sunday  The Fortune Files on YouTube — a new file every Thursday

Canadian PR Mastery — $497 CAD info product helping skilled workers navigate the Canadian permanent residency process. Cloudflare Pages, Stripe, quiz-driven autoresponder Worker. Live: canadianprmastery.com.

The Reinvention Blueprint — info product on career and life reinvention. Cloudflare Pages + Resend sequencing + Workers-based lead capture. Live: the-reinvention-blueprint.com.

Lean Body Blueprint — $97 fitness funnel for 9-to-5 workers. Landing page, Stripe checkout, 5-episode video sequence, YouTube remarketing. Live: theleanbodyblueprint.com.

Canadian PR Mastery — episode 1 opener The Reinvention Blueprint — landing page Lean Body Blueprint — the 3-rule system landing page

n8n × Claude Sonnet pipeline — scheduled video-generation pipeline orchestrated through n8n with Anthropic Claude Sonnet 4 as the reasoning model.


🛠 What I work with

Domain Tools
Languages Python, TypeScript/JavaScript, Kotlin, Swift, Bash, SQL
Web FastAPI, Node, Cloudflare Workers, vanilla HTML/CSS/JS where the framework would be overkill
Mobile Kotlin + Jetpack Compose, Swift + SwiftUI, Capacitor, Codemagic CI
Cloud / Infra Cloudflare (Workers, Pages, D1, R2, KV, Email Routing, Access, Cache Rules, DNS), DigitalOcean, systemd, PM2
AI / LLMs Anthropic Claude, OpenAI, Google Gemini, DeepSeek, n8n for orchestration
Brokers / Markets Prediction-market exchange API, OANDA v20, Interactive Brokers (ibeam)
Payments / Email Stripe Payment Links, Whop, Resend, Cloudflare Email Routing
Data Cloudflare D1 (SQLite at the edge), append-only JSONL with fcntl locks, no heavy ORM dependencies

📍 Operating principles

  • Surface isolation as primary architecture. A failure on one product never cascades. A trading lane going down can't hurt Canadian PR sign-ups; Lean Body Blueprint can't drain Reinvention Blueprint's email sender reputation.
  • Append-only audit logs beat mutable state. Forward-only debuggability wins over database snapshots almost every time. D1 + JSONL covers more ground than people assume.
  • Cloudflare-native by default. One vendor for DNS, edge, Workers, D1, R2, Pages, email routing, access control. Operational simplicity at portfolio scale beats best-of-breed sprawl.
  • Numbers are labeled, never fabricated. Measured from logs, modeled from stated assumptions, or absent — every public figure says which. The T BOT demo page publishes the actual gating chain and signal pipeline; opacity in a trading product is a red flag, not a feature.
  • Ship the smallest thing that works, then watch it for a week before adding the next thing.

📫 Connect

LinkedIn  ·  X  ·  YouTube  ·  Portfolio  ·  Vancouver, BC

Open to interesting conversations — algo trading, LLM orchestration in production, native + edge app architecture, or what it takes to trust a system you are not watching.

Pinned Loading

  1. tbot tbot Public

    Autonomous trading on prediction markets: one rules-based live strategy behind a 14-layer guard chain, books reconciled nightly to the exchange, every lane billed for its own fees and AI spend, and…

    1

  2. tbot-client tbot-client Public

    Open-source Python client for the T BOT signal feed. Runs on subscriber machines, places orders on their own broker. Operator never sees subscriber broker creds.

    Python

  3. jobscout-app jobscout-app Public

    JobScout — AI job-search copilot. Live LLM scoring of real postings with the reasoning shown; a Kenya market at nairobi.jobscout.page; native Android + iOS.

    HTML

  4. canadian-pr-mastery canadian-pr-mastery Public

    $497 CAD info product on Canadian permanent residency. Cloudflare Pages + Stripe + Worker-based quiz autoresponder.

  5. unified-ops-dashboard unified-ops-dashboard Public

    One dashboard, every product, a single Cloudflare-native data plane: D1 + Workers + Pages + Email Routing. Also the SIEM behind T BOT's security operations.

  6. maasai-explained-pipeline maasai-explained-pipeline Public

    Dual-channel AI documentary studio — Node.js pipeline rendering 8:00+ paper-craft & wildlife films (Maasai Explained + The Collapse Files) with QA gates

    HTML