Skip to content
View flowser's full-sized avatar
💭
Focusing
💭
Focusing

Block or report flowser

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
flowser/README.md
Eng. Felix Nyachio. Engineering from PCB to cloud. Full-stack, systems, network and embedded engineer, Nairobi, UTC+3, open to remote work.

What I do

Email WhatsApp Save contact

Open to remote work Timezone Location Experience Profile views

Services · Featured work · Private work · Telemetry · Case studies · Experience · Tech stack · Contact

Eng. Felix Nyachio

Hi, I'm Felix 👋

I'm an Electrical & Electronic Engineer and founder of Savvytex Marines Ltd. For more than ten years I've built systems where software, networks and hardware all have to work together, in production, on real sites.

One week I'm writing a Django API and an Electron desktop client; the next I'm configuring a dual-WAN MikroTik gateway or debugging STM32 firmware on a battery management board. Clients hire me because one engineer can own the whole problem, from the circuit board to the cloud dashboard.

I work remotely with clients anywhere in the world. UTC+3 gives a full working-day overlap with Europe and the Middle East, and morning overlap with the US East Coast.

10+ years shipping since 2015. 2,000+ commits across 20+ repos. 3 disciplines: software, network, hardware. End to end: design, deploy, handover.

── SERVICES

What I can build for you

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#f97316','primaryTextColor':'#ffffff','primaryBorderColor':'#fdba74','lineColor':'#0ea5e9','cScale0':'#4f46e5','cScale1':'#0284c7','cScale2':'#059669','cScale3':'#9333ea','cScale4':'#db2777','cScale5':'#b45309','cScale6':'#0d9488','cScaleLabel0':'#ffffff','cScaleLabel1':'#ffffff','cScaleLabel2':'#ffffff','cScaleLabel3':'#ffffff','cScaleLabel4':'#ffffff','cScaleLabel5':'#ffffff','cScaleLabel6':'#ffffff'}}}%%
mindmap
  root((Felix<br/>PCB to cloud))
    💻 Software
      Django · FastAPI · Laravel
      Vue 3 · Next.js · TypeScript
      Electron desktop apps
      Capacitor offline mobile
    🌐 Networks
      MikroTik CHR dual-WAN
      FreeRADIUS · UniFi Wi-Fi
      Proxmox · Docker · BIND
    🔌 Embedded
      STM32 · Arduino · C/C++
      BMS · PAYGO · MQTT
      KiCad PCB
    🧠 On-prem AI
      Ollama · RAG
      InsightFace face match
    📈 Trading
      MQL5 Expert Advisors
      Python risk tooling
    ⚡ Power and industrial
      Solar PV · SMA inverters
      Lifts · cranes · pumps
    🧭 Architecture
      Discovery · module maps
      Costed delivery plans
Loading
Service What you get Typical stack
Web platforms and SaaS Multi-tenant APIs, admin dashboards, CMS, payments, real-time features Django REST, Laravel, Node, Next.js, Vue 3, PostgreSQL, Redis, Stripe
Desktop and mobile apps Cross-platform installers for Windows, macOS and Linux; offline-first Android/iOS apps with sync Electron, Vue, TypeScript, Capacitor
Self-hosted AI Private LLM assistants, retrieval-augmented search over your documents, face verification, all running on your own hardware FastAPI, Ollama, ONNX Runtime, InsightFace, OpenCV
Network and infrastructure Campus or office networks: dual-WAN failover, identity-based Wi-Fi, VLAN separation, virtualised servers, self-hosted mail and video MikroTik RouterOS/CHR, FreeRADIUS, UniFi, Proxmox, Docker, BIND, Mailcow, Jitsi
Embedded and IoT Firmware, sensor telemetry to the cloud, device dashboards, pay-as-you-go hardware C/C++, STM32, Arduino, Raspberry Pi, MQTT, KiCad
Trading systems Rule-based MT5 Expert Advisors with strict risk controls, backtesting and monitoring tools MQL5, Python, pandas
Solution architecture Discovery workshops, system design, module maps and costed delivery plans before any code is written Mermaid / C4-style diagrams, technical breakdowns, BOQs

── SELECTED WORK

Featured work

🏫 Flagship: AEMMS, an education management platform

AEMMS is a full ecosystem I designed and built for teacher-training and TVET (technical and vocational) colleges. Staff author, mark, and release exams on a desktop app; trainees sit exams on a locked-down desktop client; supervisors assess teaching practice and industrial attachment from a mobile app that works offline; and an on-campus AI service handles face verification and learning assistance. It's all tied together by a Django API and licensed from a central vendor server.

In production 1,400+ commits 10 codebases Two regulator editions Platforms

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#16162a','primaryTextColor':'#f0f0ff','primaryBorderColor':'#4f46e5','lineColor':'#0ea5e9','clusterBkg':'#0d0d1a','clusterBorder':'#4f46e5','titleColor':'#0ea5e9','edgeLabelBackground':'#16162a'}}}%%
flowchart TB
  subgraph vendor["☁️ Savvytex cloud"]
    VS["🔑 Vendor control plane<br/>plans · releases · Ed25519 licences"]:::cloud
  end
  subgraph campus["🏫 Campus network · data stays on site"]
    SM["🖥️ SystemMate<br/>staff desktop<br/>author · mark · release · LMS"]:::staff
    EM["🔒 ExamMate<br/>locked-down trainee client"]:::trainee
    PF["📱 Field app<br/>teaching practice · attachment<br/>offline-first"]:::field
    API{{"⚙️ Institution API<br/>Django REST · JWT · Celery"}}:::core
    DB[("🗄️ PostgreSQL<br/>Redis")]:::data
    RT["⚡ Soketi<br/>live events"]:::data
    AI["🧠 AI service<br/>face match · RAG tutor<br/>marking assist"]:::ai
    NM["🛡️ NetworkMate<br/>Wi-Fi identity · exam mode"]:::net
  end
  VS ==>|signed licence| API
  SM --> API
  EM --> API
  PF -.->|sync when online| API
  API <--> DB
  API --> RT
  API <-->|on-prem inference| AI
  API -->|people and rooms for Wi-Fi login| NM
  classDef staff fill:#4f46e5,stroke:#a5b4fc,stroke-width:2px,color:#ffffff
  classDef trainee fill:#0284c7,stroke:#7dd3fc,stroke-width:2px,color:#ffffff
  classDef field fill:#059669,stroke:#6ee7b7,stroke-width:2px,color:#ffffff
  classDef ai fill:#9333ea,stroke:#d8b4fe,stroke-width:2px,color:#ffffff
  classDef core fill:#ea580c,stroke:#fdba74,stroke-width:3px,color:#ffffff
  classDef data fill:#1e1b4b,stroke:#818cf8,stroke-width:2px,color:#e0e7ff
  classDef cloud fill:#db2777,stroke:#f9a8d4,stroke-width:2px,color:#ffffff
  classDef net fill:#0d9488,stroke:#5eead4,stroke-width:2px,color:#ffffff
  style vendor fill:#1a0b16,stroke:#db2777,stroke-width:2px,color:#f9a8d4
  style campus fill:#0d0d1a,stroke:#4f46e5,stroke-width:2px,color:#7dd3fc
  linkStyle default stroke:#0ea5e9,stroke-width:2px
Loading

One exam, end to end:

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','actorBkg':'#4f46e5','actorBorder':'#a5b4fc','actorTextColor':'#ffffff','actorLineColor':'#6b6b8a','signalColor':'#0ea5e9','signalTextColor':'#0ea5e9','labelBoxBkgColor':'#f97316','labelBoxBorderColor':'#fdba74','labelTextColor':'#ffffff','loopTextColor':'#f97316','noteBkgColor':'#16162a','noteTextColor':'#f0f0ff','noteBorderColor':'#f97316','activationBkgColor':'#0ea5e9','activationBorderColor':'#7dd3fc','sequenceNumberColor':'#ffffff'}}}%%
sequenceDiagram
  autonumber
  participant S as 🖥️ SystemMate
  participant A as ⚙️ Institution API
  participant N as 🛡️ NetworkMate
  participant E as 🔒 ExamMate
  participant I as 🧠 AI service
  rect rgba(79, 70, 229, 0.18)
    Note over S,N: Prepare
    S->>A: Author paper, set exam type and window
    N->>N: IT turns exam mode on: internet blocked, exam hosts allowed
  end
  rect rgba(14, 165, 233, 0.18)
    Note over A,E: Sit
    E->>A: Trainee signs in on the campus LAN
    A->>I: Face match, if the exam type requires it
    I-->>A: Verified (or proctor override)
    E->>E: Display guard blocks extra monitors
    E->>A: Submit answers
  end
  rect rgba(249, 115, 22, 0.18)
    Note over S,E: Mark and release
    S->>A: Mark, with AI assist on long answers
    S->>A: Release results
    A-->>E: Results and transcript available
    N->>N: IT turns exam mode off
  end
Loading

🖥️ SystemMate
STAFF · HODS · REGISTRAR · KNEC + CDACC

Exam authoring with maths, marking and release; LMS with syllabus, schemes of work, notes and live Campus Meet; results and transcripts.

701 commits
Electron Vue 3 TypeScript Pinia

🔒 ExamMate
TRAINEES · KNEC + CDACC

Locked-down exam sitting with a display guard and site blocking, face check when the exam type needs it; lessons and results.

265 commits
Electron Vue 3 Soketi

⚙️ Institution API
EVERY APP

Multi-tenant REST API: JWT auth, per-exam-type proctoring policy, real-time events, device workers.

382 commits
Django REST PostgreSQL Redis nginx

📱 Field apps
SUPERVISORS · PRACTICUM + ATTACHMENT

Teaching-practice and industrial-attachment visits, rubrics and attendance. Works offline, syncs when back in signal.

48 commits
Capacitor Vue 3 Android

🧠 AI service
ON CAMPUS HARDWARE

Face verification, a RAG learning assistant over course material, marking assist and agents. No student data leaves the building.

53 commits
FastAPI InsightFace ONNX Ollama

🔑 Vendor control plane
SAVVYTEX

Plans, subscriptions, releases and Ed25519-signed licence files that campuses verify offline.

12 commits
Django Ed25519

AEMMS by the numbers

AEMMS: API routes, data models, Vue components, automated tests

56 service modules 61 desktop IPC handlers 13 CI workflows

AEMMS commits by app (1,461) and code by language

Measured from git on 2026-09-27 by telemetry.py: tracked files only, non-blank lines, CDACC forks counted once; dependencies, builds, migrations and third-party themes excluded.

➡️ Read the AEMMS case study · See screenshots in the showcase repo

🌐 Live campus network build: Chesta Teachers Training College (2026)

Lead engineer for a full production deployment at a college in West Pokot, Kenya:

  • Dual-WAN resilience: Starlink primary with Airtel failover, so the campus stays online through an ISP outage.
  • Identity-based Wi-Fi: FreeRADIUS and UniFi, with every student logging in with their own credentials instead of a shared password.
  • Exam lockdown: during exams, student internet is blocked except for approved exam servers, device limits are enforced, and staff networks stay online.
  • Self-hosted services: the AEMMS platform, Mailcow email and Jitsi video conferencing, all running on Proxmox.
  • NetworkMate control room: a web portal that lets the IT team manage students, devices and exam mode without touching router configs.
  • Full handover: equipment inventory and operations runbooks for the client's own team.
%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#16162a','primaryTextColor':'#f0f0ff','primaryBorderColor':'#4f46e5','lineColor':'#0ea5e9','clusterBkg':'#0d0d1a','clusterBorder':'#4f46e5','titleColor':'#0ea5e9','edgeLabelBackground':'#16162a'}}}%%
flowchart TB
  SL["🛰️ Starlink<br/>primary WAN"]:::wan
  AT["📶 Airtel<br/>failover WAN"]:::wan
  GW{{"🧭 MikroTik CHR gateway<br/>dual-WAN · firewall · exam mode"}}:::core
  SL ==> GW
  AT -.->|if Starlink drops| GW
  subgraph lan["🏫 Campus LAN"]
    direction TB
    ST["🎓 Student network<br/>identity Wi-Fi"]:::trainee
    SF["🧑‍💼 Staff network<br/>online during exams"]:::staff
    RAD["🔐 FreeRADIUS + UniFi<br/>per-student login · device limits"]:::net
    ST <--> RAD
  end
  subgraph px["🗄️ Proxmox VE host"]
    direction TB
    NM["🛡️ NetworkMate<br/>control room"]:::net
    AE["🏫 AEMMS"]:::ai
    MC["📧 Mailcow"]:::data
    JT["🎥 Jitsi Meet"]:::data
  end
  GW --> ST
  GW --> SF
  GW -.-|RouterOS API · exam mode| NM
  GW --> AE
  GW --> MC
  GW --> JT
  classDef wan fill:#b45309,stroke:#fcd34d,stroke-width:2px,color:#ffffff
  classDef core fill:#ea580c,stroke:#fdba74,stroke-width:3px,color:#ffffff
  classDef trainee fill:#0284c7,stroke:#7dd3fc,stroke-width:2px,color:#ffffff
  classDef staff fill:#4f46e5,stroke:#a5b4fc,stroke-width:2px,color:#ffffff
  classDef net fill:#0d9488,stroke:#5eead4,stroke-width:2px,color:#ffffff
  classDef ai fill:#9333ea,stroke:#d8b4fe,stroke-width:2px,color:#ffffff
  classDef data fill:#1e1b4b,stroke:#818cf8,stroke-width:2px,color:#e0e7ff
  style lan fill:#0d0d1a,stroke:#0284c7,stroke-width:2px,color:#7dd3fc
  style px fill:#0d0d1a,stroke:#9333ea,stroke-width:2px,color:#d8b4fe
  linkStyle default stroke:#0ea5e9,stroke-width:2px
Loading

➡️ Read the campus network case study

🔌 Industrial, embedded and field engineering

Firmware, electronics and cloud in one closed loop. This is the pattern behind the PAYGO e-bike and e-mobility battery-management projects:

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#16162a','primaryTextColor':'#f0f0ff','primaryBorderColor':'#4f46e5','lineColor':'#0ea5e9','clusterBkg':'#0d0d1a','clusterBorder':'#4f46e5','titleColor':'#0ea5e9','edgeLabelBackground':'#16162a'}}}%%
flowchart LR
  subgraph vehicle["🛵 On the vehicle"]
    CELLS["🔋 Battery cells"]:::hw
    BMS["BMS board<br/>cell sensing"]:::hw
    MCU["🧩 STM32 firmware<br/>embedded C"]:::staff
    MOT["⚙️ Motor controller"]:::hw
  end
  subgraph cloud["☁️ Cloud"]
    API{{"Laravel IoT API<br/>MySQL"}}:::core
    DASH["📊 Vue dashboard<br/>alerts · fleet view"]:::trainee
    PAY["💳 Payment status<br/>pay-as-you-go"]:::cloud
  end
  CELLS --> BMS --> MCU
  MCU <-->|feedback| MOT
  MCU ==>|cell telemetry| API
  API --> DASH
  PAY --> API
  API -.->|enable / disable| MCU
  classDef hw fill:#b45309,stroke:#fcd34d,stroke-width:2px,color:#ffffff
  classDef staff fill:#4f46e5,stroke:#a5b4fc,stroke-width:2px,color:#ffffff
  classDef core fill:#ea580c,stroke:#fdba74,stroke-width:3px,color:#ffffff
  classDef trainee fill:#0284c7,stroke:#7dd3fc,stroke-width:2px,color:#ffffff
  classDef cloud fill:#db2777,stroke:#f9a8d4,stroke-width:2px,color:#ffffff
  style vehicle fill:#1a1206,stroke:#f59e0b,stroke-width:2px,color:#fcd34d
  style cloud fill:#0d0d1a,stroke:#4f46e5,stroke-width:2px,color:#7dd3fc
  linkStyle default stroke:#0ea5e9,stroke-width:2px
Loading
PAYGO e-bikes and battery management
STM32 firmware in embedded C, with a Laravel/Vue IoT backend. Battery cell telemetry streams to the cloud with alerts and motor-controller feedback.
Ventilator reverse engineering
A low-cost mechanical ventilator prototype with remote-monitoring web UI, plus real-time temperature and pressure firmware for medical equipment.
Smart home control
Arduino, Raspberry Pi, Django, Android and MQTT, running in a real home.
Solar PV and power systems
SMA inverter commissioning, control-PCB troubleshooting, UPS, generators, pumps and RO water systems.
Lifts, cranes and medical equipment
Lift LED displays, industrial motherboards, escalator reprogramming, overhead cranes, and autonomous dental-chair hydraulics.
Vending and M-Pesa
Vending machine controllers with mobile-money payment integration.

➡️ Read the embedded and IoT case study

── PRIVATE PORTFOLIO

Private work index

Most of what I build is client or product IP, so the source is private. This is the full list; I'm happy to demo any of it on a call.

🎓 Education, exams and campus software
AEMMS platformEducation management and exam system: staff desktop, locked-down exam client, offline field app, institution API, on-prem AI, vendor licensingDjango · Electron · Vue 3 · Capacitor · FastAPI
Exam server (2025)Earlier exam backend with queue workers and schedulersLaravel · TypeScript · Docker
VoteMateCampus election platform: voter registers, ballots and live results over WebSockets, as one Docker stackDjango · Vue 3 · PostgreSQL · Redis · Soketi
Research survey platformSelf-hosted SurveyMonkey alternative with validated Likert instruments, deadlines, analytics and Excel exportLaravel · Vue · MySQL
Institutional ITActive Directory and Group Policy rollout, admissions web app, library database, notice and tender portals, desktop-to-SMS integrationWindows Server · web apps
🌐 Networks and infrastructure
NetworkMateCampus network control room: identity Wi-Fi, device control, one-click exam lockdownDjango · Vue 3 · MikroTik API · FreeRADIUS
Chesta campus stackDual-WAN, RADIUS + UniFi identity Wi-Fi, exam lockdown, self-hosted mail and video, full handover runbooksMikroTik CHR · Proxmox · Mailcow · Jitsi
Campus AI LabBrowser console for testing self-hosted LLMs and agents with a model picker, running on ProxmoxVue 3 · Ollama · FastAPI
🏢 Business platforms and SaaS
Savvytex platformCompany API and website: CMS-driven public site, staff operations console, portfolio, social publishing, field sync ledger and vendor licensingDjango · Vue 3 · TypeScript · PostgreSQL
upgo insurance platformCustomer-facing insurance agency platform with online paymentsNext.js · React · Node.js · MySQL · Stripe
NyumbanéHousehold budgeting product shipped as four clients (web, desktop, iOS, Android) on one APIDjango · Electron · Capacitor
Industrial services marketplaceCMS where industrial clients post technical problems for engineers to solveWeb CMS
💳 Fintech and trading
TradeMateRisk-first MT5 Expert Advisor and Python monitoring app for 8 assets: six filter layers, daily loss halt, no martingaleMQL5 · Python · pandas
Vending and M-PesaVending machine controllers with mobile-money payment integrationEmbedded controllers · M-Pesa
🔌 Embedded, IoT and hardware
PAYGO e-bikePay-as-you-go e-mobility: STM32 firmware with a cloud payment-status loopSTM32 · embedded C · Laravel · Vue
E-mobility BMSBattery cell telemetry to the cloud with web alerts and motor-controller feedbackFirmware · MySQL · web UI
Smart homeHome automation running in a real home, with an Android appArduino · Raspberry Pi · Django · MQTT
Ventilator prototypeLow-cost mechanical ventilator reverse-engineered with remote monitoring, plus real-time temperature and pressure firmware for medical equipmentFirmware · web UI
Field engineeringSMA inverter commissioning, control-PCB repair, lift and escalator electronics, overhead cranes, pumps, RO plants, dental-chair hydraulicsPower electronics · PLC · diagnostics
🧭 Solution architecture
Intelligent maize milling platform (proposal)End-to-end design for a milling business: weighbridge intake, production and yield, warehouses, sales, KRA e-invoicing, M-Pesa reconciliation, offline field sync and an AI roadmap. Delivered as a technical breakdown, module maps and costed packagesArchitecture · Mermaid · BOQ

── BY THE NUMBERS

Engineering telemetry

Most of my code is private, so GitHub's public graphs miss it. These charts are measured straight from the private repos.

Portfolio totals: lines of code, commits, products, tests

Every line by language

Lines of code by language across all products

Commits per month in 2026 (bars: all products · line: AEMMS · September to date)

%%{init: {'theme': 'base', 'themeVariables': {'fontSize': '14px', 'xyChart': {'backgroundColor': 'transparent', 'plotColorPalette': '#4f46e5, #f97316', 'titleColor': '#8b8ba7', 'xAxisLabelColor': '#8b8ba7', 'yAxisLabelColor': '#8b8ba7', 'xAxisTitleColor': '#8b8ba7', 'yAxisTitleColor': '#8b8ba7', 'xAxisLineColor': '#4f46e5', 'yAxisLineColor': '#4f46e5', 'xAxisTickColor': '#4f46e5', 'yAxisTickColor': '#4f46e5'}}, 'xyChart': {'width': 900, 'height': 380, 'plotReservedSpacePercent': 60}}}%%
xychart-beta
  x-axis ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"]
  y-axis "Commits" 0 --> 700
  bar [21, 14, 17, 96, 75, 663, 289, 142, 594]
  line [0, 9, 15, 96, 75, 506, 257, 22, 481]
Loading

Where the code lives: product by language

Lines of code per product, split by language Commits by product and code by layer
  • 1.03M lines across six products, almost all written in the last ten months.
  • 1,461 commits on AEMMS alone: 686 API routes and 145 data models behind 441 screens and components.
  • 873 automated tests and 13 CI workflows guard releases.
  • Full stack in one head: Python back ends, TypeScript/Vue front ends, MQL5 trading code and PHP legacy systems, plus the networks and hardware they run on.

Measured from git on 2026-09-27 with telemetry.py. Private repos only; tracked files, non-blank lines; CDACC forks counted once; dependencies, builds, migrations and third-party themes excluded.

── DEEP DIVES

Case studies

Architecture and decisions behind a campus-owned education platform: signed offline licensing, self-hosted real-time, on-prem AI. Dual-WAN failover, identity Wi-Fi, exam lockdown and self-hosted services for a rural college. PAYGO e-bike firmware, battery telemetry, a ventilator prototype, smart home and industrial field work.

Product showcases with screenshots, architecture and engineering notes (source code stays private):

AEMMS showcase NetworkMate showcase TradeMate showcase

── TRACK RECORD

Experience

Over ten years I've owned systems end to end, from the circuit board to the cloud and from the first diagram to the handover binder.

What you get when you hire me

🎯 One accountable engineer
OWNERSHIP

Architecture, build, deployment and handover across software, networks and hardware. You don't have to coordinate three vendors.

🛡️ Built for bad days
RESILIENCE

Dual internet links, offline-first mobile apps, and an exam lockdown that keeps the admin office online. Things keep running when one part fails.

📦 Handover, not lock-in
OPERABILITY

Every deployment ships with an inventory and runbooks your own team can follow. The software runs on your servers, under a signed licence.

⚡ Ships at pace
DELIVERY

1,989 commits across six products in 2026. AEMMS went from its first commit in February to a live campus the same year.

Roles

2016 to now  FOUNDER · FULL TIME

🏢 Founder and Lead Engineer · Savvytex Marines Ltd

NAIROBI · REMOTE-READY · PRODUCT, ARCHITECTURE AND DELIVERY

I set product direction and lead the engineering for everything the company ships.

  • Designed AEMMS: 10 codebases and 6 apps, in two regulator editions (KNEC and CDACC) on one shared architecture.
  • Set the business model: customers subscribe, but the system runs on the campus's own servers. Ed25519-signed licences control modules, seats and expiry.
  • Built the product line: NetworkMate (campus network control), the Savvytex company platform (website, operations, social publishing, licensing), VoteMate and TradeMate.
  • Wrote the code: 1.03M lines and 1,989 commits across 16 private repositories (measured, see telemetry).
  • Design solutions with the client: I work directly with college principals on local-network exams, named-user Wi-Fi and exam-week operations.

Product strategy System architecture Django Vue 3 Electron FastAPI

2026  FLAGSHIP DEPLOYMENT

🏫 Lead Engineer · Chesta Teachers Training College

PRODUCTION CAMPUS STACK · TEACHING, ADMINISTRATION AND NATIONAL EXAM WEEKS

Problem What I built Result
A single internet provider was a single point of failure Starlink primary with Airtel failover on MikroTik Teaching and admin stay online when one provider drops
Shared Wi-Fi passwords, no idea who is online FreeRADIUS + UniFi login with each trainee's assessment number, whole roster imported, device limits A named user for every device
Exams need the internet shut for students, not for the office Separate student and staff networks, plus a gateway exam mode that allows only KNEC and SABE exam hosts Exam lockdown with one switch, and administration keeps working
Exams and results had to run on campus, not in someone else's cloud AEMMS on campus with release control and transcripts; SystemMate and ExamMate clients Exams, marking and results run on the campus's own hardware
The college needed email and video meetings it controls Self-hosted Mailcow mail and Jitsi video, NetworkMate ops portal, all on Proxmox Communication the college owns

Handed over with an inventory for the principal and operations cookbooks for IT staff. Next phase: a fibre modernisation proposal with a bill of quantities (proposed, not built).

Proxmox MikroTik FreeRADIUS UniFi Mailcow Jitsi

2015 to now  FREELANCE · CLIENT PROJECTS

🛠️ Full-Stack, Firmware and Electronics Engineer · Freelance

INSURANCE · MOBILITY · SMART HOME · RETAIL · INDUSTRIAL

  • Insurance agency platform: React / Next.js front end, Node and MySQL back end, Stripe payments.
  • Pay-as-you-go e-bikes: STM32 firmware in embedded C, plus a Laravel / Vue IoT backend that tracks payment status.
  • Smart home control: Arduino and Raspberry Pi devices, a Django server and an Android app, connected over MQTT and used day to day in a lived-in home.
  • Vending with M-Pesa: mobile-money payment modules for vending machines.
  • Diagnostics and repair: dental-chair automation, lift and escalator electronics, motherboards and appliances, plus a marketplace website where industrial clients post technical problems.

Next.js Node.js Stripe Laravel STM32 MQTT M-Pesa

2022  CONTRACTS · 5 CLIENTS

⚡ Technical Service Provider · Industrial and Energy Contracts

GAVITON ENTERPRISES · C.P. POWER EA · NEURAL POWER · KONZA ELEVATORS · LATENIGHT DENTIST

  • E-mobility battery management: cell data sent to the cloud (MySQL), a web dashboard with alerts, and feedback to the motor controller.
  • Solar and power: commissioned SMA inverters, fixed faults on control boards, and built spare-parts inventory systems.
  • Heavy plant: motors, relays, overhead cranes, borehole and dosing pumps, generators and reverse-osmosis water systems.
  • Lifts and escalators: lift LED displays and industrial motherboards, and escalators reprogrammed on live sites under time pressure.

Embedded C BMS telemetry SMA inverters Power electronics PLC

Engineering track record:

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#4f46e5','primaryTextColor':'#ffffff','primaryBorderColor':'#a5b4fc','lineColor':'#0ea5e9','titleColor':'#0ea5e9','cScale0':'#4f46e5','cScale1':'#0284c7','cScale2':'#b45309','cScale3':'#9333ea','cScale4':'#0d9488','cScale5':'#ea580c','cScaleLabel0':'#ffffff','cScaleLabel1':'#ffffff','cScaleLabel2':'#ffffff','cScaleLabel3':'#ffffff','cScaleLabel4':'#ffffff','cScaleLabel5':'#ffffff','cScaleInv0':'#0ea5e9','cScaleInv1':'#0ea5e9','cScaleInv2':'#0ea5e9','cScaleInv3':'#0ea5e9','cScaleInv4':'#0ea5e9','cScaleInv5':'#0ea5e9'}}}%%
timeline
  2015 → : Freelance full-stack, firmware and electronics
       : Insurance platform · smart home · vending with M-Pesa
  2016 : Founded Savvytex Marines Ltd
  2019 – 20 : Ventilator prototype with remote monitoring
       : Medical temperature and pressure firmware
  2022 : E-mobility BMS telemetry
       : SMA inverters · lifts · escalators · cranes
  2025 : Laravel exam server
       : NetworkMate campus control room
  2026 : AEMMS platform in production
       : Chesta campus network build
       : Savvytex platform · TradeMate · VoteMate
Loading

Credentials

  • Bachelor of Engineering, Electrical & Electronic Engineering
  • Huawei ISP Implementation certification
  • Communications Authority of Kenya (CAK) licence
  • Engineering Technology professional certification · IETTK certification

── TOOLBOX

Tech stack

Backend and languages
Frontend, apps and data
Infrastructure and embedded

── PROCESS

How we'd work together

%%{init: {'theme':'base','themeVariables':{'fontSize':'15px','primaryColor':'#16162a','primaryTextColor':'#f0f0ff','primaryBorderColor':'#4f46e5','lineColor':'#0ea5e9','edgeLabelBackground':'#16162a'}}}%%
flowchart TB
  subgraph r1[" "]
    direction LR
    A(["💬 Message<br/>email · WhatsApp"]):::s1 --> B(["📞 30-min call<br/>your timezone"]):::s2 --> C(["📝 Proposal<br/>scope · price"]):::s3
  end
  subgraph r2[" "]
    direction LR
    D(["🛠️ Build<br/>weekly demos"]):::s4 --> E(["🚀 Deploy<br/>cloud or on-prem"]):::s5 --> F(["📚 Handover<br/>docs · runbooks"]):::s6
  end
  r1 --> r2
  style r1 fill:transparent,stroke:transparent
  style r2 fill:transparent,stroke:transparent
  classDef s1 fill:#4f46e5,stroke:#a5b4fc,stroke-width:2px,color:#ffffff
  classDef s2 fill:#0284c7,stroke:#7dd3fc,stroke-width:2px,color:#ffffff
  classDef s3 fill:#0d9488,stroke:#5eead4,stroke-width:2px,color:#ffffff
  classDef s4 fill:#059669,stroke:#6ee7b7,stroke-width:2px,color:#ffffff
  classDef s5 fill:#ea580c,stroke:#fdba74,stroke-width:2px,color:#ffffff
  classDef s6 fill:#db2777,stroke:#f9a8d4,stroke-width:2px,color:#ffffff
  linkStyle default stroke:#0ea5e9,stroke-width:2px
Loading
  1. Message me by email or WhatsApp with a short description of what you need.
  2. 30-minute discovery call on Google Meet, Zoom or WhatsApp, at a time that suits your timezone.
  3. Written proposal with scope, milestones, timeline and a fixed price or monthly retainer.
  4. Build in the open: a private repo you own, weekly demos, and progress you can see.
  5. Handover: documentation, deployment runbooks and post-launch support.

I'm open to fixed-scope projects, monthly retainers and long-term remote roles (contract or full-time).

── ACTIVITY

GitHub activity

Profile details

Contribution streak

Most of my work lives in private client and product repositories, so public stats show only part of it. Happy to walk you through the code on a call.

── CONTACT

Let's talk

Have a project, a role, or just a question? Reach me any way you like.

📧 Email: eng.felixnyachio@gmail.com
📱 Phone / WhatsApp: +254 748 650 011
📅 Book a call: send a call request with your preferred time and timezone
📇 Save my contact: download vCard, or scan the QR code
🌍 Location: Nairobi, Kenya · UTC+3 · remote worldwide

WhatsApp Email

Scan to save my contact
Scan to save my contact
Let's build something great. eng.felixnyachio@gmail.com, +254 748 650 011, Nairobi UTC+3, remote worldwide.

Popular repositories Loading

  1. househelp-vue househelp-vue Public

    HTML 1

  2. developer-portfolios developer-portfolios Public

    Forked from emmabostian/developer-portfolios

    A list of developer portfolios for your inspiration

    Python 1

  3. ECC ECC Public

    Forked from affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    JavaScript 1

  4. laravel-boilerplate-generator laravel-boilerplate-generator Public

    Forked from hariadi/laravel-boilerplate-generator

    Generate Model, attribute, relation, scope trait and repository for Laravel Boilerplate

    PHP

  5. bootstrap-toggle bootstrap-toggle Public

    Forked from minhur/bootstrap-toggle

    Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles

    HTML

  6. HS-EMPLOYER HS-EMPLOYER Public

    Forked from rappasoft/laravel-boilerplate

    A Laravel 5 Boilerplate Project - http://laravel-boilerplate.com

    PHP