Given two points in latitude/longitude form (both degrees and radians supported), the calculator can give you the great circle (shortest) distance between the two points, and the initial/final bearings. This calculator can also find an intermediate coordinate/point between the two coordinates, given a fractional amount (such as 0.5). All of these properties are calculated using the Haversine formula.
All these properties are shown on a interactive model of the earth in 3D (the sphere can be rotated).
Up until now NinjaCalc has been a desktop app written in Java (as NinjaTerm still is). However, the functionality that NinjaCalc provided had no need to be a installable desktop app, and I had long desired to move it to the easily accessible web.
When I recently discovered vue.js, I finally decided to make the move (after trying both React and AngularJS a year or so ago but deciding not to use them). It was the simplicity and flexibility of vue.js which was the deciding factor. Porting took about 3 weeks of full-time work (luckily I was unemployed at the time).
After trying out Heroku as the deployment platform, I eventually choose to deploy it on my server instead due to increased configuration flexibility (incl. the ability to setup the Apache server routing with
.htaccess files). rsync is used to copy the production files over ssh onto my server.