IRFAN ISMAIL_

I build things I wanted to exist.

A property dashboard because I was house-hunting. A rally trimmer because I play tennis. Mostly small, mostly weekends, mostly for an audience of one.

Seremban, Malaysia

01 / Things

2026 Dormant

tennistrim

tool

Finds the rallies in an hour of tennis footage and throws the rest away.

I play. Cutting a match down to the actual points by hand is miserable, and the apps that do it for you want a subscription.

  • Python
  • YOLOv8
  • OpenCV
  • uv
2026 Live

mpd-app

data

Malaysian property transactions, mapped and charted.

I was trying to work out whether I could afford a house, and every honest answer was buried in a PDF or sat behind a valuation firm. The data is public. It just was not usable.

  • Turborepo
  • TypeScript
  • Cloudflare Workers
  • PMTiles
  • DuckDB WASM

Visit ↗ Source ↗

2026 Dormant

mpd-data

data

The pipeline underneath mpd — raw transaction dumps turned into something a browser can query.

The dashboard needed clean data and nobody publishes it clean. Parquet and GeoJSON on R2 means the querying happens in your browser and the whole thing costs me nothing to run.

  • Python
  • pandas
  • DuckDB
  • R2

Source ↗

02 / Work with me

Need something built?

Everything above was made for an audience of one. Client work is a different thing — it goes through my consultancy, where there is a scope, a contract, and someone who answers email.