Skip to the work

Nairobi, Kenya

James Mogoi

Software, security and AI engineering.

I build the things Kenyan businesses actually run on. Online shops, tills and M-Pesa payments, taken from an idea to something live. Built by someone who also does security and digital forensics, so they hold up when the money and the pressure are real.

James Mogoi

Working on Linux since 2019

Build
Storefronts, point of sale and M-Pesa payments, end to end
Security
Auth and sessions, rate limiting, digital forensics
AI Engineering
Tool-calling agents, injection defence, controls enforced in code

Engagements

Systems where a mistake costs something.

A shop trading today, a till you can run a sale on, a forensic tool you can sign into, and an AI you can try to talk out of money. Every one of them opens from this page, and each says plainly how much of it is live.

Live2026 to present

Veesa Solutions

Online electronics retail, Kenya

A shop built for how Kenya actually buys. Phones, laptops and accessories, priced in shillings, paid for with M-Pesa. Sign in once and your addresses, your orders and your delivery are waiting the next time you come back.

  • About two hundred and fifty products across seven categories, each with live pricing and availability.
  • Pay the way the country pays. M-Pesa, confirmed on the spot, with the order moving the moment the money lands.
  • An account that remembers. Saved delivery addresses, full order history, and tracking from checkout to doorstep.
  • A shop the owner runs. Products, prices, photography and categories all change from the inside, without a developer.
  • Registered with Kenya's Office of the Data Protection Commissioner. Customer data is collected, kept and deleted the way the law says it should be.
Visit the storeTrading now
Veesa Solutions storefront, showing the product catalogue with KSh pricing
Live2025 to 2026

Digital Forensic Timeline

USB exfiltration analysis

A two-tier platform. A case-management and timeline front end delegates every binary artifact parse to a Python service. It answers one question to a standard that survives cross-examination: did this person copy confidential files to a USB device, and can you prove it?

  • Four artifact parsers: registry USBSTOR, LNK shortcuts, event logs, and a purpose-written NTFS USN journal decoder that recovers deletions surviving an emptied Recycle Bin.
  • A correlation engine that classifies each device-to-file link as confirmed or temporal-only, refusing to promote coincidence to evidence.
  • Tamper-evident chain-of-custody reports aligned to ISO/IEC 27037 and NIST SP 800-86, backed by an immutable examiner audit log.

Python / FastAPI / Next.js / PostgreSQL / Prisma / The Sleuth Kit / KVM/QEMU

Open the live toolReviewer sign-in on the page
Forensic Timeline dashboard, showing the investigator sign-in screen
Live demo2026

Tija

Point of sale for Kenyan retail

A till for a shop with a queue. Cash and M-Pesa in one basket, on one receipt. Every sale, refund and payout is written down once and can never be quietly rewritten. At close the cashier counts blind, and the drawer is judged against the books rather than the other way round. Open it and run a sale yourself; the demo below is the real thing, seeded with demo stock.

  • Cash and M-Pesa on one screen. A payment confirms itself; nobody types in a code they cannot prove.
  • A blind count at close. The difference between the drawer and the books is recorded, not argued.
  • The till sells; it does not tell. Stock levels and margins stay with the supervisor.
  • Built for a 13-inch screen at a counter. Nothing on it is slower than the cashier.

Next.js / TypeScript / Prisma / SQLite / M-Pesa Daraja / Vercel

Open the tillPick a role, PIN 1111
Tija point-of-sale till: the product grid, the current sale, and the Charge button
Live2026

Mlinzi

An AI security game, in English, Swahili and Sheng

Mlinzi runs a shop's mobile-money till, and the game is to talk him into paying you. Any language, any story: the boss on a call, a wrong-number reversal, a lost SIM. Five levels keep one rule, pay approved refunds only, and change who enforces it. At the last level the till checks every payment in code, and fooling the AI is no longer enough.

  • Five levels, one policy. The instructions tighten, an injection detector joins at level four, and at level five the till itself refuses anything not approved.
  • Wins are decided by code, from the payment the model actually tried to make. No second model is asked for its opinion.
  • Meta's Prompt Guard 2 scores every message, blocking or not, so real attacks measure the detector in Swahili and Sheng. In testing it caught instruction overrides even in Sheng, and missed a Sheng SIM-swap story entirely.
  • Anonymous by design. Phone numbers and emails are stripped before anything is stored, and the research log is what the write-up will be built from.

Next.js / TypeScript / Groq / gpt-oss-20b / Llama Prompt Guard 2 / Neon Postgres / Vercel

Try to fool MlinziNo sign-up, play money
Mlinzi at level one: a Sheng lost-SIM story talks the till into sending KES 1,500 to the wrong number

Client prototypes

Front end delivered. Backend on engagement.

Interface work for Kenyan businesses, each one clickable, and not the argument this page is making.

Practice

What an engagement actually covers.

Websites and web apps
Online shops, booking flows, dashboards and internal tools. Taken from what you actually need through to something live that you can run yourself, on a domain you own.
Point of sale
A till that handles cash and M-Pesa in one basket, keeps an honest record of every sale and refund, and does not slow the queue down.
Payments
M-Pesa Daraja STK Push and C2B, Stripe, and the reconciliation behind them. Built to survive duplicate callbacks, timeouts and the payment that confirms twice.
Security
Authentication and session design, rate limiting, input validation, and data handling that satisfies the Kenya Data Protection Act. I have taken a live platform through ODPC registration. The part most builds skip until it costs them.
Digital forensics
Windows artifact parsing, device-to-file correlation, and chain-of-custody reporting to ISO/IEC 27037 and NIST SP 800-86. For when you need to prove what happened, not guess.

Background

Seven years from the command line to systems people run a business on.

I build and maintain a live online shop for a Kenyan electronics retailer, a point of sale you can open and run a sale on right now, and a forensic tool that proves what a USB device did on a machine. Mostly I build. The security and forensics side is why what I build tends to survive contact with real money.

  1. 2019

    Linux as primary OS

    Switched to Linux full time and stayed there. Everything since has been built on the command line.

  2. 2019 to 2021

    Certificate in ICT, Cambridge College

    Networking, systems architecture, operating systems and digital communications.

  3. 2021 to 2023

    ICT attachment and field support

    Attachment at Kenya Seed Company covering IT support across the organisation, then freelance systems installation, hardware diagnostics and network troubleshooting for small businesses.

  4. 2023 to present

    Freelance software engineering

    Full-stack JavaScript, Django and Python work for Kenyan clients, each engagement taken from requirements through testing to handover.

  5. 2024 to 2025

    Software engineering bootcamp, Zindua School

    Eight-month intensive in Nairobi, October 2024 to May 2025.

  6. 2025 to 2026

    Diploma in Cyber Security and Forensics, Zetech

    Entered at Semester 2 on credit from prior ICT certification, final examinations completed. Final-year project: a forensic tool that parses raw Windows artifacts and correlates USB device activity with file access.

  7. 2026 to present

    Veesa Solutions, commerce and payments

    Solo build to production for a Kenyan electronics retailer, architecture through deployment. Storefront, customer accounts, mobile money, and the admin the owner runs the shop from. Live and trading.

Stack

Security
Digital Forensics / Chain of Custody (ISO/IEC 27037) / Incident Response / Auth & Session Design / Rate Limiting / Cryptography / ODPC Compliance
Payments
M-Pesa Daraja (STK Push, C2B) / Stripe / Webhook Integration / Payment Reconciliation / Google Merchant API
AI Engineering
LLM Tool Calling / Prompt Injection Defence / Guard Models (Prompt Guard 2) / Groq / Code-Enforced Agent Controls
Languages
TypeScript / JavaScript / Python / C / SQL / Bash
Backend
Node.js / FastAPI / Django / REST API Design / PostgreSQL / Prisma / Redis
Frontend
React / Next.js / TypeScript / Tailwind CSS
Infrastructure
Linux / Docker / CI/CD / AWS / KVM/QEMU
Networking
CCNA 1 to 3 / Routing & Switching / Enterprise Networking
Embedded & Robotics
Arduino (C/C++) / Firmware Flashing / Soldering / Hardware Prototyping
Projects coming soon

Education

  • Bachelor of Science in Computer Science
    Starting 2027
  • Diploma in Cyber Security and Forensics, Zetech University, Nairobi
    2025 to 2026
  • Software Engineering, intensive bootcamp, Zindua School, Nairobi
    Oct 2024 to May 2025
  • Certificate in Information & Communication Technology, Cambridge College, Nairobi
    2019 to 2021

Version control

Everything above is committed, not claimed.

Client repositories stay private, so what is public is the record of the work rather than the work itself. Work recorded on 230 of the last 371 days.

956

Contributions, last twelve months

878

Commits in private repositories

45

Repositories committed to, last twelve months

SepOctNovDec2026FebMarAprMayJunJulAug

1 contribution on 19 September 2026

Snapshot as of 19 September 2026

LessMore
github.com/jamesmogoiPrivate repositories walked through on request

Engagements

Start a conversation.

Available to build online shops, tills and payment integrations, and for security or forensic work on systems already running. Nairobi based, working across East Africa.

Replies within one working day

Email
jamesmogowi@gmail.com

Fastest route. Project briefs, role enquiries, or a walkthrough of anything on this page.

WhatsApp
Message on WhatsApp

The quickest way to send a brief, photos included.

Phone
+254 795 605 704

Calls, East Africa Time.

LinkedIn
james-mogoi

Background, referees and the full work history.

GitHub
jamesmogoi

Client work stays private. Happy to walk through any of it on request.