@Fitzy-1 this has come up in various shape or form several times, for AIS, ADS-B, and other location-and-whatnot reporting data sources then some half-assed effort is expended on datasource X, plugin published, victory declared and the whole thing rots away this scheme just does not fly - however, there seems to be a legit demand for displaying nonstandard stuff on maps my recommendation would be - split the problem into two: a) a generic "here's a plugin which can display various stuff on a windy Leaflet map" part b) a per-use-case "transform my data into the format the former can display it" there is a superb example in the node-red ecosystem for a): https://flows.nodered.org/node/node-red-contrib-web-worldmap and I suggest to give it a try you display "stuff" on the map by sending a JSON message with coordinates, and attributes what and how to display it you "move" stuff on the map by sending that message with new coordinates that is pretty much it - see the usage section: colors, icons, popups, speed/heading vectors, links, images, send GeoJSON, KML etc and what not now node-red has an internal mechanism for message passing between nodes and that needs to be replaced by some generic vehicle - for that I'd use a Websockets listener/connector, passive/active HTTP or just passive/active TCP. Step1: transplant the inbound message handling mechanism into a windy plugin. Step2: recreate the outbound "Events from the map" so an external data source can react to click, pan, move, delete, file drop. Then, to integrated your AIS or some other data source you only have to transform the data into the format expected by the map interpreter. And it could be pretty much any language one is familiar with - node, python, whatever. I've used node-red-contrib-web-worldmap - it's well supported, stable and very popular. The core code is some 3000 lines and well written. @rittels