Available now, open to work Fully remote · Any time zone

SamuelMwania

Software EngineerMachine LearningProduction Systems

I ship machine learning systems that run in production. Model, API, container, deployment, load test, retraining path. Six built. Two answering live requests right now, and you can call one of them from this page.

Samuel Mwania
Live production endpoints
·
Service health

Polled from your browser on load. Both run on Render's free tier, so a cold instance takes up to 50 seconds to wake.

Call the maize yield model

Posts to my deployed Random Forest and returns a real prediction. Nothing is simulated.

Waiting for input. Choose a state and press predict.
0
Systems shipped
0
Best accuracy
0
Largest dataset
0
Experiments run
0
Load test failures
PyTorchTensorFlowFastAPIDockerPostgreSQLNext.jsNeo4jFlutterPrismaCUDALocustRender PyTorchTensorFlowFastAPIDockerPostgreSQLNext.jsNeo4jFlutterPrismaCUDALocustRender
About

What you get

Most machine learning work dies in a notebook. Mine ships, and I can show you the endpoint answering requests.

I am a software engineer specialising in machine learning. I take a problem from raw data through to a running service: training, evaluation against a named baseline, an API with real validation, a container that behaves identically on any machine, a deployment, load testing, and a retraining path so the model does not quietly decay.

I work in the open. Every project below links to its source, and two of them link to a live endpoint you can hit yourself. Nothing on this page is a claim you have to take on faith.

I am available now and open to work, fully remote, for teams and clients anywhere in the world. I hold a BSc in Software Engineering with a machine learning specialisation from African Leadership University, 2026.

01
I measure against a baseline

A metric with nothing to compare it to is decoration. Every model here is scored against a stated alternative, so the number means something.

02
I tell you what is weak

One project below has an R squared of 0.237. It stays on the page with a written explanation of why and what would fix it. You will always know what you are getting.

03
I finish the last mile

Containerised, deployed, load tested, documented. The part most people skip is the part that decides whether the work is worth anything.

04
I hand over cleanly

Every repository has a README another engineer can follow without asking me a question. You are not buying a dependency on me.

Work

Pricing

·

Each tier links to something I have already built and shipped. Scope is negotiable. The rate is not. If the number is above your budget, tell me the budget and I will tell you what fits inside it.

Tier 01

Automation script

One task, automated properly. Data cleaning, scheduled report generation, an API pull, a parser for a messy format.

  • Working script with a README
  • Runs on your machine or a schedule
  • One round of revisions
Timeline1 to 3 days
Proof: 5GB ingest pipeline
Tier 02

Model plus API

A trained model behind an endpoint your product can call. Validation at the boundary, documented, deployed.

  • Trained model, scored against a baseline
  • FastAPI service with request validation
  • Deployed with a live URL and Swagger docs
  • One round of revisions
Timeline3 to 7 days
Proof: live maize yield API
Tier 03

Full ML system

The whole thing. Model, API, interface, database, container, deployment, load test, and a retraining path so it does not decay.

  • Everything in Tier 02
  • Dashboard or front end
  • Database and Docker
  • Load tested with reported numbers
  • Two weeks of post launch support
Timeline2 to 4 weeks
Proof: CoffeeGuard, live
Retainer

Ongoing

For a system already running. Monitoring, retraining, small features, and someone to call when it breaks.

  • Defined scope each month
  • Model retraining and drift checks
  • Cancel with 30 days notice
CommitmentMonthly
Discuss a retainer
Budget smaller than the tier you need? Say the number. I will come back with a cut of the scope that fits it, or tell you plainly that it cannot be built well for that, which saves us both the time.
Start a conversation
Estimate a project

Rough figure in ten seconds. A written proposal with fixed scope always follows before anything starts.

Quote
$1,500
50% up front$750
50% on delivery$750
01
50% before I start

The balance on delivery. Under $200, the full amount up front. It protects both sides: you know I am committed, I know the budget is real.

02
Scope is written down first

A one page brief naming deliverables, timeline, price and payment terms before any work happens. No brief, no build.

03
We negotiate scope

Every quote is a starting point for what gets built, not a haggle over the rate. Drop a feature, drop a revision, phase it across two months. Quality is the one thing that does not come off the table.

04
Paid how you prefer

M-Pesa for Kenyan clients, quoted in KES. Wise, PayPal or bank transfer internationally, quoted in whichever currency above suits you.

Stack

Every item appears in shipped work
Modelling
  • PyTorch
  • TensorFlow / Keras
  • scikit-learn
  • Stable Baselines3
  • statsmodels, pmdarima
Serving
  • FastAPI
  • Flask
  • Next.js 13, React
  • Streamlit
  • Flutter, Dart
Data
  • PostgreSQL, Prisma
  • MySQL
  • SQLite
  • pandas, NumPy, PyArrow
  • Parquet, GeoPandas
Ops
  • Docker, Docker Compose
  • Render
  • Locust
  • CUDA, GPU training
  • Linux, Git

Contact

Tell me the problem and what you have already tried. If you have a budget, say it, and I will tell you what fits inside it. I reply within a day.

Copied to clipboard
Download resume (PDF)
Send me a brief