{"id":96,"date":"2015-12-22T15:48:19","date_gmt":"2015-12-22T15:48:19","guid":{"rendered":"https:\/\/krushton.com\/blog\/?p=96"},"modified":"2017-02-04T20:05:55","modified_gmt":"2017-02-04T20:05:55","slug":"rocket-fares","status":"publish","type":"post","link":"https:\/\/krushton.com\/blog\/rocket-fares\/","title":{"rendered":"Rocket Fares"},"content":{"rendered":"<p>Like most people, I love to travel. When I have time to kill I\u00a0often find myself\u00a0clicking\u00a0around\u00a0<a href=\"http:\/\/kayak.com\/explore\">Kayak&#8217;s Explore<\/a> feature, just to daydream about future vacations and see what kind of flight deals are out there for the next few months.<\/p>\n<p>At one point it occurred to me that\u00a0I was missing a key piece of information &#8211; that in order to truly find the best deals, I needed to be able to compare not only the price of flights, but also how far each flight went for a given amount of money. This makes intuitive sense, as a flight out of San Francisco\u00a0that costs\u00a0$500 may or may not be\u00a0a good deal depending on\u00a0whether it is going to LA or to Tokyo. But for some reason, no existing airfare search\u00a0site formalizes\u00a0this mental math by providing an actual\u00a0<strong>distance to price ratio\u00a0<\/strong>for their search results.<\/p>\n<p>So, in order to make this happen, I made a chrome extension to run on top of Kayak Explore that runs the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Haversine_formula\">Haversine distance formula <\/a>for\u00a0every flight search result and replaces the raw fare price\u00a0amount for each result with the price expressed as miles per dollar. This allows me to compare all flights on equal footing, and making it clear that\u00a0a flight from SFO\u00a0to New Delhi\u00a0for $405 (18 MPD) is an objectively better deal than one from NYC to Hongkong for $532 (15 MPD).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-123 size-full\" src=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/kayak.png\" alt=\"kayak\" width=\"1332\" height=\"562\" srcset=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/kayak.png 1332w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/kayak-300x127.png 300w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/kayak-768x324.png 768w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/kayak-1024x432.png 1024w\" sizes=\"auto, (max-width: 1332px) 100vw, 1332px\" \/><\/p>\n<p>I then created\u00a0<a href=\"http:\/\/rocketfares.com\">Rocket Fares<\/a>\u00a0to\u00a0share my best finds with the world (and also to get more practice with WordPress Development).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-291 size-large\" src=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-11-1024x611.png\" width=\"960\" height=\"573\" srcset=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-11-1024x611.png 1024w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-11-300x179.png 300w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-11-768x458.png 768w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-11.png 1057w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/p>\n<p>Finally, I automated the entire process, so I can create a new post\u00a0directly from the chrome extension&#8230; including sourcing images and adding affiliate links to purchase tickets (My First Content Farm!)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-124 size-full\" src=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-4.png\" alt=\"Rocket Fares chrome extension\" width=\"1332\" height=\"562\" srcset=\"https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-4.png 1332w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-4-300x127.png 300w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-4-768x324.png 768w, https:\/\/krushton.com\/blog\/wp-content\/uploads\/2015\/12\/Unnamed-image-4-1024x432.png 1024w\" sizes=\"auto, (max-width: 1332px) 100vw, 1332px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Like most people, I love to travel. When I have time to kill I\u00a0often find myself\u00a0clicking\u00a0around\u00a0Kayak&#8217;s Explore feature, just to daydream about future vacations and see what kind of flight deals are out there for the next few months. At one point it occurred to me that\u00a0I was missing a key piece of information &#8211; &hellip;<\/p>\n","protected":false},"author":1,"featured_media":291,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_vp_format_video_url":"","_vp_image_focal_point":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-96","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"wps_subtitle":"Discount airfare aggregator","_links":{"self":[{"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/posts\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/comments?post=96"}],"version-history":[{"count":8,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/posts\/96\/revisions"}],"predecessor-version":[{"id":122,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/posts\/96\/revisions\/122"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/media\/291"}],"wp:attachment":[{"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/media?parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/categories?post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/krushton.com\/blog\/wp-json\/wp\/v2\/tags?post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}