status: open to opportunities

Building data pipelines that don't fall over at 2am.

I'm Madhu Ghimire, an Data Engineer at Zakipoint Health, working hybridly from Kathmandu, Nepal. I design and run ETL pipelines across MySQL, PostgreSQL, Elasticsearch, Snowflake Spark and AWS β€” and automate the parts that used to need a human babysitting them.

90%+Processing time cut
2Automation systems shipped
6+Data platforms in daily use

about

I work at the layer between raw data and the people who need to trust it. At Zakipoint Health, a US healthcare data analytics company, I build and maintain ETL pipelines that move and reshape client data safely β€” healthcare data doesn't get a second chance to be wrong.

Most of my recent work has gone into two things: a Python-based database sync tool built for large tables, and a daily automation pipeline that ties together MySQL, PostgreSQL,Spark and Pentaho jobs running in Docker β€” with a dashboard so I can see what happened overnight instead of guessing.

Outside of pipelines, I like the other side of the brain too β€” I like to learn new concepts daily and post in LinkedIn about those concepts i learned.

RoleData Engineer, Zakipoint Health
LocationKathmandu, Nepal (Hybrid)
FocusETL pipelines, automation, healthcare data
StackPython, SQL, Spark,Snowflake, Docker, AWS, Elasticsearch

stack

Tools I reach for daily

The platforms and languages behind the pipelines above.

Databases

MySQLPostgreSQLElasticsearchSnowflake/span>

Data & processing

Apache Spark/PySparkHadoopPentaho / PDIETL design

Languages & frameworks

PythonFastAPIFlaskSQL

Infrastructure

AWS EC2DockerDocker ComposeCron / Scheduling

Tooling

Git / GitHubSlack APILinux

selected work

Projects

Systems I've built end-to-end, from the schema up to the Slack alert that tells me it worked.

01

DB-Syncer

Database sync tool β€” Python

A cross-database sync tool built for large tables, where a naive script would either time out or eat all the RAM. Uses parallel processing to split work across cores, SQLite-backed checkpointing so a sync can resume exactly where it left off after a failure, and server-side cursor streaming to keep memory flat regardless of table size. Ships with a FastAPI web UI, a Docker Compose test environment, and a full unit test suite.

PythonProcessPoolExecutorFastAPI MySQL 5.x / 8.xPostgreSQLDocker
02

Daily Automation Pipeline

Production automation β€” Python + Docker + Pentaho

An automation system running on AWS EC2 that pulls data from MySQL into PostgreSQL every day, then triggers Pentaho (PDI) transformation jobs inside Docker containers. Includes a Flask monitoring dashboard, Slack notifications on success or failure, and a --skip-phase1 flag so I can iterate on the transform stage without re-running the full data pull. Debugged through real production issues β€” JVM heap sizing, silent queue hangs, dynamic Docker volume paths, and OOM kills from unbuffered MySQL cursors.

PythonPentaho / PDIDocker AWS EC2FlaskSlack APICron
03

Legacy ETL β†’ Spark/Hadoop Migration

Data platform migration β€” Zakipoint Health

Migrated a legacy MySQL/Pentaho processing workflow to Apache Spark and Hadoop running on AWS EC2, cutting processing time by more than 90%. This is the kind of work that doesn't show up as a repo link β€” it shows up as a report that used to take hours finishing before the team's coffee got cold.

Apache Spark(PySpark)/span>HadoopAWS EC2MySQL

writing

From the blog

Notes on pipelines, debugging sessions, and things I had to learn the hard way.

Loading recent posts…

contact

Let's talk data.

Open to new roles, freelance ETL/automation work, or just a conversation about pipelines that broke in interesting ways. Based in Kathmandu, working remote.