Hey, I'm

Jesse Ngugi

Data scientist, analyst and web designer, based in Nairobi.
I build data pipelines, train predictive models, and design dashboards and websites that people actually use. I'm also in my first year of a BSc in Computer Science, learning the theory behind the tools I use every day.
View projects Get in touch

About me

The story so far, and where I'm headed.

I'm a data scientist and analyst currently working at LuxDev, where I spend my days cleaning messy datasets, building predictive models, and translating numbers into narratives that drive business decisions.

Most of my work happens in Python and SQL, but what I enjoy most is the problem-solving: figuring out why a model underperforms, or designing an experiment that isolates causality.

I also design and build websites for small businesses, including the live site for a Kenyan safari company. I care about pages that load fast, read easily and work properly on a phone.

In September 2026 I started a computer science degree, which I'm treating as a chance to go deeper on the theory I've so far used intuitively. I want to understand algorithms from first principles, not just import them from scikit-learn.

When I'm not coding, you'll find me exploring new datasets for fun, writing about what I learn, or debating whether pandas still beats Polars.

Languages & core tools
Python SQL R Rust DAX Excel Jupyter Git & GitHub
Data & ML
pandas NumPy scikit-learn Matplotlib Seaborn Statistics & A/B testing TensorFlow PyTorch LLMs & RAG Spark Power BI Power Query Tableau
Engineering
Docker AWS FastAPI Airflow PostgreSQL MongoDB
Web design
HTML CSS JavaScript TypeScript Next.js Responsive design Accessibility
2025 – 2026
Data scientist & analyst
LuxDev
Sep 2026 – 2030 (expected)
BSc Computer Science
The Co-operative University of Kenya
Future
Data scientist / software engineer
Building what's next
Quick facts
Based in Nairobi, Kenya
Fluent in English and Swahili, with some Spanish
Open to freelance & collaborations
Writing about data and SQL on dev.to

Selected projects

Some of what I've built, from ML models to client websites.

Customer churn predictor
Predicts which telecom customers are likely to leave and explains each prediction in plain language using SHAP. I tuned XGBoost for 80.5% precision so a retention team only calls the customers worth calling.
Python XGBoost SHAP FastAPI Docker
Kenya daily data pipeline
An Airflow pipeline that pulls weather, exchange rates, earthquakes and World Bank figures for Kenya every morning. Great Expectations runs 27 checks first, so bad data fails the run instead of reaching the warehouse.
Airflow Great Expectations PostgreSQL Docker
Tweet sentiment analyzer
I fine-tuned DistilBERT on 400,000 tweets using only a laptop CPU, and it scores 85.5% accuracy on 50,000 tweets it never saw. It runs as a FastAPI service, a Docker image and a public Hugging Face demo.
PyTorch Hugging Face NLP FastAPI
SafariQuote AI
A subscription product I built for Kenyan safari operators. Travellers get an itemised quote in seconds, priced from the operator's rates and official park fees, and operators pay by M-Pesa. The code itself is private.
Next.js TypeScript PostgreSQL Paystack
My Land Tours & Travel website
A multi-page website for a Kenyan safari company, designed and coded from scratch with no templates or site builders. I handled the layout, booking forms, SEO and deployment, and it's live at mylandtours.co.ke.
HTML CSS JavaScript SEO
Country aid segmentation
Clusters 167 countries by development need with K-Means, choosing the number of groups with three separate checks. The high-need group then becomes a ranked shortlist that an aid organisation could actually work from.
Python scikit-learn K-Means PCA
Kenya mobile money analysis
Ten business questions on a year of synthetic M-Pesa, Airtel Money and T-Kash transactions, each answered in both pandas and SQL. The notebook checks that both answers match, covering RFM segments, cohorts and fees.
pandas SQL SQLite RFM
Sales ETL & Power BI dashboard
Cleans 9,994 Superstore orders into a normalised four-table PostgreSQL schema that feeds a two-page Power BI report. A small script inserts synthetic orders on a schedule, so you can watch the dashboard update.
Python PostgreSQL Power BI SQLAlchemy

Blog

Notes on data, code, and the things I learn along the way.

Aug 2026 6 min read
Why I stopped using pandas for everything
Polars, DuckDB, and the rise of query engines that make pandas feel like a relic. A practical migration guide with real benchmarks on a 10M-row dataset.
Jul 2026 8 min read
Building a churn model that actually gets used
Most ML models die in a Jupyter notebook. Here's how I turned a prototype into a production system that the sales team checks every morning.
Jun 2026 5 min read
SQL window functions I wish I knew earlier
A no-fluff guide to LAG, LEAD, ROW_NUMBER, and the patterns that make complex analytical queries readable and fast.

Curriculum vitae

Preview or download my full CV.

Jesse Ngugi's CV
Data scientist, analyst and web designer with experience in predictive modeling, data engineering and business intelligence. Currently studying for a BSc in Computer Science.
Download

Get in touch

Open to collaborations, freelance work, or just a chat about data.

Location
Nairobi, Kenya