[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"project-23802317":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":48,"post_text":49,"what":50,"said":102,"maker_in_thread":217,"shape":224,"grid":228,"attempts":558,"same_week":559,"maker_shows":41,"maker_hidden":588,"reader_version":589,"card":590},"23802317","Trail Router","generate running routes that prefer greenery and nature","title","Show HN: Trail Router – generate running routes that prefer greenery and nature","https:\u002F\u002Ftrailrouter.com\u002F","trailrouter.com","samcrawford",1594476534,2020,402,128,86,3028,3,"legend","consumer_social","running route planner","web_app",[21,24,25,26,27],"trail running routes","greenery routing","openstreetmap routing","round trip running","mixed",0.182,{"positive":31,"neutral":32,"mixed":33,"critical":34},23,24,1,14,62,{"idea":37,"performance":39,"execution":42,"design":45,"docs":46,"pricing":47},{"positive":18,"critical":38},0,{"positive":40,"critical":41},5,2,{"positive":43,"critical":44},9,11,{"positive":33,"critical":33},{"positive":41,"critical":38},{"positive":33,"critical":38},[40,18,18,40,38,38,38,38,40,40,40,38,38,40,18,33,40,33,33,33,40,40,18,18,40,33,33,18,18,33,18,33,40,40,33,18,18,40,40,40],null,{"problem":51,"audience":58,"pricing":62,"motivation":68,"time_to_build":49,"stack":72,"openness":99,"stage":100,"team_size":101},{"value":52,"source":53,"evidence":54},"Finding running routes that avoid busy main roads in unfamiliar areas","maker",[55],{"id":56,"by":11,"text":57},"23802323","Author here. Trail Router is a running route planner that prefers greenery and nature in the routes it generates, and biases against busy roads. It can generate round-trip routes…",{"value":59,"source":53,"evidence":60},"Runners, especially those travelling and running in new places",[61],{"id":56,"by":11,"text":57},{"value":63,"source":53,"evidence":64},"Free to use; server costs self-funded by maker",[65],{"id":66,"by":11,"text":67},"23810518","Fully agreed - the amount of data openly available is astounding. I think many people would be surprised at the richness of the tagging information within OpenStreetMap. Without…",{"value":69,"source":53,"evidence":70},"Maker travels for work and likes running in new places without busy roads",[71],{"id":56,"by":11,"text":57},[73,82,91,95],{"value":74,"source":53,"evidence":75},"OpenStreetMap data",[76,79],{"id":77,"by":11,"text":78},"23804154","Thanks! Cycling is on the to-do list. But I'm conscious it probably wouldn't just be a single category - there would need to be separation for road cycling and mountain biking.…",{"id":80,"by":11,"text":81},"23806709","How funny, Trail Router also happens to be hosted with Hetzner. Right now in their auction there's a E5-1650v3, with 256GB RAM and 2x 480GB SSD for 73 EUR\u002Fmo (including VAT) -…",{"value":83,"source":53,"evidence":84},"GraphHopper routing",[85,88],{"id":86,"by":11,"text":87},"23807017","I didn't know that. I've been spoiled by the always wonderful GraphHopper. Thank you for your tireless work on GraphHopper! Trail Router and many other projects would not be…",{"id":89,"by":11,"text":90},"23809570","I just had a proper look at GraphHopper Navigation - I can't believe I hadn't seen it before - that looks pretty much perfect for my use case! I will certainly be giving that a…",{"value":92,"source":53,"evidence":93},"Mapbox maps",[94],{"id":66,"by":11,"text":67},{"value":96,"source":53,"evidence":97},"Hetzner server hosting",[98],{"id":80,"by":11,"text":81},"unknown","launched","solo",{"praise":103,"objections":124,"requests":157,"questions":180,"alternatives":198},[104,116],{"value":105,"source":106,"evidence":107},"Routes are good and avoid busy streets","commenter",[108,112],{"id":109,"by":110,"text":111},"23804405","chrisdalke","Nice job, the algorithm is really effective! I tried this in multiple cities where it ended up recommending very similar routes to some of my established running routes, and even…",{"id":113,"by":114,"text":115},"23804217","caiobegotti","Wow, I'm actually impressed by how good the results were, I was not honestly expecting it! Lots of kudos! From the clean map interface and Strava heatmaps to defaulting to metric…",{"value":117,"source":106,"evidence":118},"Clean interface and useful elevation profile",[119,120],{"id":113,"by":114,"text":115},{"id":121,"by":122,"text":123},"23806965","ak217","This is awesome! I've tried it on a few areas that I know well, and it really did a good job. I really love running in new places as a way to explore my area as well as when I…",[125,132,147],{"value":126,"source":106,"evidence":127},"Routes can cross closed gates or poorly maintained trails",[128],{"id":129,"by":130,"text":131},"23809181","ogre_codes","This is pretty cool, but there are definitely routes that pop up quickly that cross closed gates and trails that are not in good repair. I'd consider these to be good \"Beta\"…",{"value":133,"source":106,"evidence":134},"Map data gaps in some rural or local areas",[135,139,143],{"id":136,"by":137,"text":138},"23805023","codingdave","I live in a small town that is getting grown over by suburbia. The routes ignore all the nice open farm fields to the east of me, and runs me down the busiest streets through…",{"id":140,"by":141,"text":142},"23810588","wjnc","Love the idea especially for when on holidays or in another town! I live I a very green environment and the maps generated are quite often 'wrong', that is not even near the…",{"id":144,"by":145,"text":146},"23806102","annoyingnoob","Looks interesting. It missed the multi-use trail that wraps around the area where I live - though its not on google maps either.",{"value":148,"source":106,"evidence":149},"Routes sometimes use unsafe roads without sidewalks",[150,154],{"id":151,"by":152,"text":153},"23804814","js2","Ha, it makes the same route planning mistake I did years ago when I was in Rome. I was staying near the Colosseum and for one of my runs, thought I’d run on the Appia Antica,…",{"id":155,"by":152,"text":156},"23805228","Allowing users to flag unsafe portions sounds like a good work-around. FWIW, I'm looking at the routes it's planning from my home and they aren't safe. It's sending me down…",[158,168,172],{"value":159,"source":106,"evidence":160},"Sync routes to Garmin, Suunto or other watches and apps",[161,165],{"id":162,"by":163,"text":164},"23803167","lostpixel","Looks interesting! Have you considered providing a way to sync routes directly to Running watches?",{"id":166,"by":11,"text":167},"23803185","I actually have. Watch this space - there should be direct route syncing to Garmin and Suunto before terribly long. In the meantime, you can export routes to GPX\u002FKML files already.",{"value":169,"source":106,"evidence":170},"Parking lot or park-entrance start point option",[171],{"id":109,"by":110,"text":111},{"value":173,"source":106,"evidence":174},"Cycling support",[175,176],{"id":77,"by":11,"text":78},{"id":177,"by":178,"text":179},"23815471","sandos","Id want this but for bicycles.",[181,191],{"value":182,"source":106,"evidence":183},"How the map centres on user location before permission is given",[184,188],{"id":185,"by":186,"text":187},"23808247","jwineinger","I just loaded this and the map was centered on my house before I gave access to my location. I'm using current Firefox. Anyone know how that would happen?",{"id":189,"by":11,"text":190},"23809380","It uses geoIP data from Maxmind to approximately locate users even before they provide location information. It's not usually _that_ accurate though. It's just intended to get a…",{"value":192,"source":106,"evidence":193},"How to fix OpenStreetMap data for local trails",[194,195],{"id":140,"by":141,"text":142},{"id":196,"by":11,"text":197},"23811295","Thanks! My suggestion would to start out by checking out your area on openstreetmap.org for two things: Firstly to check to see if the trail you refer to is shown (it should show…",[199,207,211],{"value":200,"source":106,"evidence":201},"Strava Route Planner and heatmaps",[202,203],{"id":121,"by":122,"text":123},{"id":204,"by":205,"text":206},"23806525","e15ctr0n","Love the idea. Great blog posts as well. This one alone https:\u002F\u002Ftrailrouter.com\u002Fblog\u002Fhow-trail-router-works\u002F would have taken you several hours to write!",{"value":208,"source":106,"evidence":209},"Footpath Route Planner",[210],{"id":151,"by":152,"text":153},{"value":212,"source":53,"evidence":213},"OsmAnd",[214],{"id":215,"by":11,"text":216},"23806160","Thanks for the tip about Osmand, I'll check that out. If you're referring to the Garmin Connect Courses API…",{"comments":218,"answered":219,"key":220},33,16,[221,222,223],{"id":56,"text":57},{"id":77,"text":78},{"id":80,"text":81},{"commenters":225,"max_depth":226,"maker_replies":218,"first_comment_mins":38,"lifespan_hours":227},67,8,103,[229,231,234,236,240,244,248,251,254,258,262,265,268,270,274,276,277,279,281,283,285,287,290,293,296,299,302,305,308,310,314,318,320,324,327,329,332,334,336,339,342,344,347,350,353,355,359,362,364,366,368,369,371,374,376,379,382,384,386,388,390,392,394,397,401,403,406,408,409,411,413,415,417,418,421,425,427,429,430,433,436,440,443,445,447,450,454,458,461,463,465,467,469,471,472,477,479,481,485,490,494,497,500,505,507,509,514,516,520,524,526,528,532,534,535,539,542,544,548,552,554],[56,38,38,230,11,33],"project\u002Fpositive\u002Fidea",[232,38,40,230,233,38],"23804078","pj_mukh",[77,38,38,235,11,33],"maker\u002Fneutral\u002Fidea",[237,38,18,238,239,38],"23804448","project\u002Fneutral\u002Fnone","076ae80a-3c97-4",[241,38,38,242,243,38],"23808270","commenter\u002Fneutral\u002Fnone","cullenking",[245,38,38,246,247,38],"23809790","other\u002Fneutral\u002Fnone","goguy",[249,38,38,246,250,38],"23811143","malyk",[252,38,38,246,253,38],"23812277","c0nsumer",[255,38,18,256,257,38],"23804513","project\u002Fneutral\u002Fidea","nickswan",[259,38,40,260,261,38],"23810544","project\u002Fpositive\u002Fperformance","pistoriusp",[263,38,38,246,264,38],"23805989","donjoe",[266,38,38,246,267,38],"23806075","Doctor_Fegg",[269,38,38,246,264,38],"23806146",[271,38,38,272,273,38],"23807026","other\u002Fneutral\u002Fperformance","karussell",[275,38,38,272,264,38],"23809300",[80,38,38,272,11,33],[278,38,38,246,273,38],"23806956",[86,38,38,280,11,33],"other\u002Fpositive\u002Fnone",[282,38,38,280,273,38],"23807136",[284,38,38,272,267,38],"23809778",[286,38,38,246,273,38],"23852011",[288,38,38,246,289,38],"23806077","rorykoehler",[291,38,38,246,292,38],"23806403","stugrey",[294,38,38,246,295,38],"23807671","notatoad",[297,38,38,246,298,38],"23809407","efrecon",[300,38,38,246,301,38],"23817001","mvkel",[303,38,40,260,304,38],"23806487","lfuller",[306,38,18,307,273,38],"23807249","maker\u002Fneutral\u002Fnone",[309,38,38,307,11,33],"23809601",[311,38,40,312,313,38],"23807739","project\u002Fpositive\u002Fnone","runnr_az",[315,38,40,316,317,38],"23808020","project\u002Fpositive\u002Fexecution","Schweigi",[319,38,38,235,11,33],"23809357",[321,38,18,322,323,38],"23810537","project\u002Fneutral\u002Fdesign","fouc",[325,38,38,326,11,33],"23810556","maker\u002Fneutral\u002Fdesign",[328,38,38,246,243,38],"23808322",[330,38,38,246,331,38],"23808594","TrueGeek",[333,38,38,246,243,38],"23808950",[335,38,38,280,243,38],"23809002",[337,38,38,338,11,33],"23809489","maker\u002Fpositive\u002Fnone",[340,38,18,256,341,38],"23808671","def8cefe",[343,38,38,235,11,33],"23809502",[345,38,40,260,346,38],"23810931","nathancahill",[348,38,18,349,253,38],"23812252","project\u002Fneutral\u002Fperformance",[351,38,38,352,11,33],"23817803","maker\u002Fneutral\u002Fperformance",[354,38,38,246,253,38],"23824321",[356,38,33,357,358,38],"23817601","project\u002Fcritical\u002Fexecution","ddoeth",[360,38,38,361,11,33],"23817751","maker\u002Fneutral\u002Fexecution",[363,38,18,322,358,38],"23818226",[365,38,38,326,11,33],"23818391",[367,38,18,326,358,38],"23829041",[109,33,40,316,110,38],[370,33,38,235,11,33],"23804499",[372,33,33,357,373,38],"23805595","mtnGoat",[375,33,38,361,11,33],"23805671",[377,33,18,256,378,38],"23804693","knownhoot",[380,41,38,246,381,38],"23804047","dang",[136,18,33,383,137,38],"project\u002Fcritical\u002Fperformance",[385,18,38,352,11,33],"23805156",[387,18,33,383,137,38],"23805451",[389,18,38,352,11,33],"23805761",[113,391,40,316,114,38],4,[393,391,38,326,11,33],"23804571",[395,391,40,260,396,38],"23808340","sqs",[398,40,40,399,400,38],"23804606","project\u002Fpositive\u002Fdesign","jack_riminton",[402,40,38,256,11,33],"23804747",[404,40,18,256,405,38],"23805665","benjaminl",[407,40,18,256,267,38],"23806108",[215,40,38,235,11,33],[410,40,18,256,273,38],"23807086",[412,40,18,238,273,38],"23807181",[414,40,38,322,11,33],"23807220",[416,40,18,349,273,38],"23807282",[89,40,38,230,11,33],[204,419,40,420,205,38],6,"project\u002Fpositive\u002Fdocs",[422,419,40,423,424,38],"23807068","maker\u002Fpositive\u002Fdocs","rosstex",[151,426,33,357,152,38],7,[428,426,38,361,11,33],"23804948",[155,426,33,357,152,38],[431,426,38,432,11,33],"23806089","project\u002Fneutral\u002Fexecution",[434,426,33,357,435,38],"23809171","ajmurmann",[437,226,18,438,439,38],"23813708","project\u002Fmixed\u002Fexecution","danpalmer",[441,43,40,316,442,38],"23804863","JimDabell",[140,444,33,357,141,38],10,[196,444,38,446,11,33],"maker\u002Fneutral\u002Fdocs",[448,44,18,256,449,38],"23805658","saeranv",[451,452,40,230,453,38],"23805231",12,"hobofan",[455,456,33,357,457,38],"23807146",13,"egypturnash",[459,34,33,357,460,38],"23809388","necovek",[462,34,38,446,11,33],"23809511",[121,464,18,322,122,38],15,[466,464,38,446,11,33],"23807003",[468,219,40,260,378,38],"23804605",[185,470,33,357,186,38],17,[189,470,38,361,11,33],[473,474,38,475,476,38],"23815937",18,"other\u002Fcritical\u002Fidea","subpixel",[129,478,33,357,130,38],19,[480,478,38,361,11,33],"23809534",[482,483,18,256,484,38],"23806416",20,"ganstyles",[486,487,40,488,489,38],"23814005",21,"project\u002Fpositive\u002Fpricing","sicromoft",[491,492,40,312,493,38],"23805265",22,"etrautmann",[495,31,38,246,496,38],"23823182","jamgraham",[498,32,40,316,499,38],"23813363","3guk",[501,502,33,503,504,38],"23806720",25,"project\u002Fcritical\u002Fdesign","seattle_spring",[506,502,38,326,11,33],"23806770",[508,502,18,322,504,38],"23808507",[510,511,18,512,513,38],"23810451",26,"project\u002Fneutral\u002Fpricing","tinus_hn",[66,511,38,515,11,33],"maker\u002Fneutral\u002Fpricing",[517,518,18,256,519,38],"23811255",27,"aloisdg",[521,522,40,316,523,38],"23806910",28,"WD-42",[144,525,33,357,145,38],29,[527,525,38,446,11,33],"23806190",[529,530,40,316,531,38],"23809419",30,"senden9",[162,533,18,256,163,38],31,[166,533,38,235,11,33],[536,537,40,316,538,38],"23808446",32,"jordwest",[540,218,18,322,541,38],"23805101","voisin",[543,218,38,326,11,33],"23805133",[545,546,40,316,547,38],"23804556",34,"steven_pack",[549,550,18,256,551,38],"23812241",35,"baq",[177,553,18,256,178,38],36,[555,556,40,230,557,38],"23806401",37,"christiansakai",[],[560,565,570,575,579,584],{"id":561,"name":562,"points":563,"category":564},"23820201","Primo",575,"dev_tools",{"id":566,"name":567,"points":568,"category":569},"23830195","Is It Worth the Cost?",319,"web_saas",{"id":571,"name":572,"points":573,"category":574},"23795779","Learnawesome.org",216,"learning_science",{"id":576,"name":577,"points":578,"category":564},"23812894","sed-bin",160,{"id":580,"name":581,"points":582,"category":583},"23782053","Screenr",118,"productivity",{"id":585,"name":586,"points":587,"category":583},"23812178","Notado",96,false,"v2",{"id":591,"name":5,"line":6,"ai":588,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":592,"top":18,"kw":593,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":594,"url":9,"mix":595,"praise":105,"objection":126,"sub":21},23802317,0.18,[21,24,25,26,27],"5335000055500531511155335113313155133555",[31,32,33,34],1793991012847]