Completing Dec 2026 · Open to opportunities Internships · Graduate roles · Research · Full-time

SamuelMwania

Software EngineerMachine LearningData SystemsProduction Systems

I ship machine learning systems that run in production. I build machine learning and data systems that turn real-world problems into deployable software: model, API, container, deployment, load test, retraining path. Seven built, two answering live requests right now, and you can call one of them from this page.

  • BSc Software Engineering (Machine Learning) · African Leadership University · Completing December 2026 · Graduation June 2027
  • Available for internships and project-based work now · Full-time from January 2027
  • Based in Kenya · Building AI, data and software systems for African and global problems
Samuel Mwania
7
Systems built
2
Live deployments
5GB
Largest dataset processed
17th
Zindi final rank, of 1,651 participants
30
Controlled RL experiments, team study

Selected work

Research

Research

Machine learning for public institutions, financial systems, development and governance.

In progress · Capstone, Sept – Nov 2026

Uncovering Hidden Supplier Links in Kenyan Public Procurement: A Graph-Based Machine Learning Approach

Research project · Graph Machine Learning · Kenya
Problem
Supplier screening compares a bidder's registered name against debarment and sanctions lists. A debarred party can return through a related company with an unrelated name: in 2021 the African Development Bank debarred a Kenyan firm and five affiliates whose names shared nothing with the parent, found only by tracing common officers.
Question
Can relational structure in public procurement and ownership records identify supplier exposure that name-based screening does not detect, and do learned graph representations remain effective on a real Kenyan graph?
Approach
An ownership, directorship and contract award graph built from public Kenyan records, a graph attention network scoring the neighbourhood around each bidder, and a comparison against engineered-feature baselines and the judgement of compliance professionals.
Path
Procurement research → graph machine learning → AegisVeritas → production screening system.
Status
Proposal complete; the research runs to November 2026. Results will be published here when the evaluation is done.
Data
Public records only: PPRA contract awards and the published beneficial ownership of awarded entities, World Bank and AfDB debarment listings, OpenSanctions, the ICIJ Offshore Leaks and adjudicated EACC cases. The procurement portal held 109,163 awards to 79,870 suppliers by August 2026. Cases still under investigation are excluded.
Method
A graph linking companies, people, awards and adverse records, built with entity resolution whose precision is measured on at least 200 manually adjudicated pairs. A graph attention network with ego identifiers, reverse message passing and port numbering scores each bidder's neighbourhood.
Baselines
A deterministic baseline, conventional machine learning on tabular features, and engineered graph features with a tree ensemble as the principal comparison.
Evaluation
Entity-disjoint splits, with the edge that defines each label removed before scoring. Ten random seeds with confidence intervals, an ablation over each architectural component, and permutation testing against at least 10,000 label shuffles. ROC AUC, average precision and recall at a low false positive rate. Twelve to fifteen semi-structured interviews with Kenyan compliance and procurement professionals.
System
AegisVeritas, the graph-based screening platform listed under Selected work, where the research becomes a production system: bidder and supplier-list screening, ownership path tracing, the factors behind every assessment, and a tamper-evident audit trail of analyst decisions. No decision is automated.
Limitations
Unlabelled entities are treated as negatives, so compromised but undetected entities count against the model and reported performance is a lower bound. About 800 of Kenya's 34,000 procuring authorities use the national electronic portal, and the completeness of published beneficial ownership is unknown; both are measured and reported with the results. Entity resolution accuracy may differ across naming conventions and is measured rather than assumed.
Why it matters
The study is designed to identify both where graph representations help and where data limitations constrain their effectiveness. The literature review found no published empirical evaluation of graph representation learning for debarment-circumvention detection using African procurement and ownership data.
Graph attention networksEntity resolutionBeneficial ownershipProcurement integrityDesign science

Completed research work

Freeway DQN: a controlled 30-experiment study of how much Deep Q-Network performance is decided by hyperparameters. In my sweep, a discount factor of 0.90 beat the conventional 0.99. The full experiment log is public.

Interests
Graph machine learning · Entity resolution · Risk analytics · AI for public-sector and financial systems · Evaluation methodology

About

About

Software engineer specialising in machine learning and data systems, based in Kenya. The work spans model training and evaluation, backend APIs, data pipelines and deployment: a problem taken from raw data to a running service with a retraining path.

Current research applies graph machine learning to Kenyan public procurement and ownership records, with a focus on problems where software meets financial systems, public institutions and development.

BSc Software Engineering (Machine Learning), African Leadership University. Completing December 2026, graduation ceremony June 2027. Open to internships, graduate roles, research opportunities, contract work and full-time roles: internships and project-based work now, full-time from January 2027. Remote, or relocating where employer-sponsored opportunities are available.

Every completed project includes source code and documentation, every model is evaluated against a stated baseline, and live evidence is linked where available.

Engineering approach
01
Every model has a baseline

A metric with nothing to compare it to is decoration. Maize yield is scored against the mean predictor, the Milan forecasters against SARIMA, the Zindi pipeline against TF-IDF retrieval, the DQN sweep against a shared default configuration.

02
Production deployment

Containerised, deployed and given a retraining path. Two services are running on Render.

03
Testing and validation

Load tests with Locust: zero failed requests at 50 concurrent users on CoffeeGuard. Strict request validation at the API boundary.

04
Limitations are reported

The maize model reached an R squared of 0.237. The write-up documents why the result was weak and what additional data or modelling changes could improve it.

05
Built for handover

Each repository includes enough documentation for another engineer to reproduce and extend the work.

Skills

Grouped by capability · used in the work above
Machine Learning
  • PyTorch
  • TensorFlow / Keras
  • scikit-learn
  • Stable Baselines3
  • statsmodels, pmdarima
  • Hugging Face Transformers, FAISS, LoRA
Data & Analytics
  • Python, pandas, NumPy
  • PyArrow, Parquet
  • GeoPandas
  • PostgreSQL, MySQL, SQLite
  • Prisma
Backend & APIs
  • FastAPI, Pydantic
  • Flask
  • REST API design
  • NextAuth
  • LLM integration (Gemini)
ML Systems
  • Docker, Docker Compose
  • CUDA, GPU training
  • Model serving
  • Load testing, Locust
  • Deployment, Render
Engineering
  • Linux
  • Git
  • TypeScript, Next.js, React
  • Flutter, Dart
  • Streamlit
Graph & AI
  • Neo4j
  • PyTorch Geometric, graph attention networks
  • Entity resolution
  • Permutation testing, ablation
In progress through capstone research

Experience

Education, research and contributions
Jan 2024 – Dec 2026
Education

African Leadership University

BSc Software Engineering, Machine Learning specialisation. Graduation ceremony June 2027.

Sept – Nov 2026
Research · Capstone

Uncovering hidden supplier links in Kenyan public procurement

Graph attention networks on a Kenyan ownership, directorship and contract award graph, delivered through AegisVeritas, a graph-based screening platform with a tamper-evident audit trail. Evaluated against engineered-feature baselines and through interviews with compliance professionals. In progress. Read more

June 2026
Competition

Zindi: Multilingual Health Question Answering in Low-Resource African Languages

Final rank 17th of 1,651 participants. Dense retrieval with per-language answer selection across five African languages, 44 logged experiments. View project

2025 – 2026
Team engineering

Collaborative projects

Freeway DQN, a three-person reinforcement learning study where I owned the discount factor and batch size experiments and the final combined agent. MoMo Analyst, a four-person mobile money analytics project where I built the data pipeline.

Ongoing
Public code

Project repositories

Source code for every completed project on this page is publicly available, with a README another engineer can follow. github.com/mwaniasam

Opportunities

Employment

Roles

Open to internships, graduate positions, research roles and full-time engineering positions in machine learning, data, backend and ML systems.

  • Internships and project-based work: available now
  • Full-time: from January 2027
  • Remote, or relocating where employer-sponsored opportunities are available
Contract

Selected projects

Available for selected machine learning, data and software engineering projects with a clear scope.

ScopeAgreed in writing first
Describe the project
Consulting

Scope and pricing

Project scope and pricing are available on request, or on the consulting page for teams that already know what they need built.

DetailsSeparate page
Consulting

Contact

Interested in working together?

I am open to engineering roles, research opportunities, internships, graduate positions and selected technical projects. Send me a brief description of the opportunity or problem and I will get back to you within a day.

Copied to clipboard
Download resume (PDF)
Send a message