I turn raw, messy data into answers people can use. So far that has meant customer churn, marketing campaigns, retail profitability, e-commerce orders, school resourcing, county budgets and M-Pesa bookkeeping. I clean it, find the story in it, and build dashboards, reports and AI-powered tools that non-technical people can read and act on.
- ✍️ Former technical writer at Section.io, where my analytics articles reached 30,000+ readers
- 🎓 Finishing a BSc in Data Science at the Open University of Kenya (2026)
- 🟢 Available now for data analyst roles. Reach me at monicawughanga@gmail.com
- ⚡ Fun fact: I have a surprisingly creative side that people might not expect.
| Project | What it does | Stack | Links |
|---|---|---|---|
| Bookworths | Bookkeeping for Kenyan Instagram sellers. Upload a raw M-Pesa statement and get a one-page Profit Pack that separates business from personal spending and surfaces hidden fees. | Python · Streamlit · LLM | Live app · Code |
| MiskMap | Turns an app idea into a buildable plan: a viability score out of 100, competitor teardowns and a build checklist drawn from 40+ market sources. Live, with paid plans. | Next.js · Convex · Clerk · Claude API | miskmap.app |
| County Budget Watchdog | A five-person team build: an AI assistant that turns county budget PDFs, audit reports and Hansard records into plain-language answers for residents. | React · Node · Gemini · Cloud Run | Code |
| Internship Outreach Agent | Finds and scores organisations, verifies contacts and drafts emails, but nothing is sent until a human approves it. (In progress) | Python · pydantic · Gmail API | Code |
| Jossie SmartHome Store | A full e-commerce platform with stock alerts, WhatsApp order notifications, a REST API and sales reporting. Covered by 79 tests. | Django · DRF · PostgreSQL · Tailwind | Code |
| Question | Key finding | Stack |
|---|---|---|
| Telco Customer Churn: who leaves, and why? | 47.4% churn in the first year; churned customers were worth $139K in monthly charges | SQL · pandas · seaborn |
| Marketing Campaign Performance: who responds? | Past acceptors respond at 40.6% vs 8.2% for everyone else | pandas · scikit-learn · SciPy |
| When More Sales ≠ More Profit: where is revenue bought at a loss? | Tables lost $17.7K despite $207K in sales; 1,871 loss-making lines cost $156K | pandas · matplotlib · SciPy |
| Brazilian E-commerce (Olist): what do 2 years of orders say? | 9 tables cleaned and joined into 96,478 delivered orders, ready for segmentation | pandas · Jupyter |
| EduMap Resource Allocation: which schools need resources most? | A need-based ranking that flagged overlooked rural schools (app) | Python · Streamlit · Plotly |
| Freelance Earnings Analytics: when does income dip? | Q1 runs about 25% below the annual average, every year (app) | Python · pandas |
| Bike Store Revenue: who drives revenue? | The top 20% of customers drive 60%+ of revenue | PostgreSQL · window functions |
👉 See every project, with charts, on my portfolio
Data & SQL: PostgreSQL · MySQL · SQLite · CTEs & window functions Languages: Python (pandas, NumPy, SciPy, scikit-learn) · R (dplyr, tidyr, ggplot2) · TypeScript · Excel & Power Query BI & visualisation: Power BI · Tableau · Looker · Streamlit · R Shiny · Plotly · Matplotlib · Seaborn




