[{"data":1,"prerenderedAt":387},["ShallowReactive",2],{"project-8210972":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":45,"post_text":47,"what":48,"said":87,"maker_in_thread":193,"shape":200,"grid":204,"attempts":349,"same_week":350,"maker_shows":288,"maker_hidden":379,"reader_version":380,"card":381},"8210972","ZipLocate","A free API for zip code geolocation","title","Show HN: ZipLocate, a free API for zip code geolocation","http:\u002F\u002Fziplocate.us\u002F","ziplocate.us","nathancahill",1408684769,2014,140,55,183,2272,9,"notable","data","geolocation api","api",[24,25,26,27],"zip code geolocation","zip to latitude longitude","geocoding api","zcta","loved",0.182,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,27,3,0,36,{"idea":37,"performance":39,"design":40,"execution":41,"docs":42,"pricing":43},{"positive":38,"critical":34},1,{"positive":34,"critical":34},{"positive":34,"critical":34},{"positive":33,"critical":34},{"positive":34,"critical":34},{"positive":44,"critical":34},2,[46,33,33,33,33,33,33,33,33,33,33,33,33,33,34,46,33,33,46,34,33,33,46,33,46,34,33,33,46,33,34,34,34,34,33,34,33,34,34,34],5,null,{"problem":49,"audience":47,"pricing":59,"motivation":47,"time_to_build":47,"stack":69,"openness":84,"stage":85,"team_size":86},{"value":50,"source":51,"evidence":52},"Converting zip codes to geographic coordinates","inferred",[53,55],{"id":54},"post",{"id":56,"by":57,"text":58},"8212012","couchand","This reminded me of a little suggestion by Bret Victor (http:\u002F\u002Fworrydream.com\u002FMagicInk\u002F#reducing_interaction). Imagine honing in on familiar areas simply by typing the first few…",{"value":60,"source":61,"evidence":62},"Free; donation option added","maker",[63,66],{"id":64,"by":11,"text":65},"8212756","Fair enough, added.",{"id":67,"by":11,"text":68},"8212929","Thanks, added.",[70,76],{"value":71,"source":61,"evidence":72},"Varnish",[73],{"id":74,"by":11,"text":75},"8212704","The database is mostly an abstraction layer for other people to get up and running with the API. On ZipLocate.us everything is cached in memory using Varnish, so API calls never…",{"value":77,"source":78,"evidence":79},"Node.js","commenter",[80],{"id":81,"by":82,"text":83},"8212767","johnnylambada","Thanks nathancahill! Here's a 44 line node script to exercise it with: $ wget https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnnylambada\u002Fcommandline-api\u002Fv0.0.1\u002Fziplocate $ chmod a+x…","open_source","launched","unknown",{"praise":88,"objections":104,"requests":129,"questions":152,"alternatives":164},[89,100],{"value":90,"source":78,"evidence":91},"Simple, free and open source",[92,96],{"id":93,"by":94,"text":95},"8211210","dsernst","Does what it says. Simple, free, & open source. What could be better?",{"id":97,"by":98,"text":99},"8212579","bajsejohannes","Very nice. Small enough that I can read and understand every line of code, and it still does something useful. One thing I don't get, is why you're not using the zip code as the…",{"value":101,"source":78,"evidence":102},"Small enough to read every line of code",[103],{"id":97,"by":98,"text":99},[105,112,119],{"value":106,"source":78,"evidence":107},"Zip codes are US-specific; the service does not cover international postal codes",[108],{"id":109,"by":110,"text":111},"8211113","moontear","Looks nice, kudos for offering it for free - 5$\u002Fmonth is still not nothing. It would be grand if you included \"US\" somewhere besides the domain, because the service geolocates US…",{"value":113,"source":78,"evidence":114},"Free service may disappear; needs a paid plan",[115],{"id":116,"by":117,"text":118},"8211271","mikkom","This might sound silly but you should actually have a \"plus\" plan or something that you charge for - free services have a problem of suddenly disappearing without any notice.…",{"value":120,"source":78,"evidence":121},"Centroids only, no zip code boundaries shown",[122,126],{"id":123,"by":124,"text":125},"8215388","georgemcbay","This is really cool, but ultimately not that practical because it doesn't display the zipcode boundaries. If it were integrated with zipcode boundary information as this […",{"id":127,"by":57,"text":128},"8219934","I had the same concern when I built it, but the data source I was using only provides centroid information, not boundaries. I thought for a while trying to come up with a…",[130,134,145],{"value":131,"source":78,"evidence":132},"Add zip code boundaries to the map",[133],{"id":123,"by":124,"text":125},{"value":135,"source":78,"evidence":136},"Support for Canada and UK postcodes",[137,141],{"id":138,"by":139,"text":140},"8213890","cjlm","Anything similar to this available for Canada?",{"id":142,"by":143,"text":144},"8211431","jdimov","Is there something similar for UK postcodes?",{"value":146,"source":78,"evidence":147},"Reverse geocoding from coordinates to zip code",[148],{"id":149,"by":150,"text":151},"8211178","gkoberger","Do you have any plans to do the other way around? That's important for converting the browser's geolocation data into something usable.",[153,157],{"value":154,"source":78,"evidence":155},"Why not index on the zip code instead of an id",[156],{"id":97,"by":98,"text":99},{"value":158,"source":78,"evidence":159},"Are zip code lookups tracked or how popular is 90210",[160],{"id":161,"by":162,"text":163},"8212085","ericfrederich","Are you keeping stats on your request? I'm curious how high 90210 stands out.",[165,172,179,186],{"value":166,"source":78,"evidence":167},"Ziptastic",[168],{"id":169,"by":170,"text":171},"8211988","danmanstx","Ziptastic is another option that seems to work well. http:\u002F\u002Fgetziptastic.com also plays nice with javascript and has a ruby gem.",{"value":173,"source":78,"evidence":174},"Geonames",[175],{"id":176,"by":177,"text":178},"8211542","cel1ne","Why not use Geonames: http:\u002F\u002Fwww.geonames.org\u002F ?",{"value":180,"source":78,"evidence":181},"Zippopotamus",[182],{"id":183,"by":184,"text":185},"8211527","riquito","This made me remember a cool analogous project http:\u002F\u002Fapi.zippopotam.us\u002F",{"value":187,"source":78,"evidence":188},"OpenCage geocoder",[189],{"id":190,"by":191,"text":192},"8211557","freyfogle","you may enjoy: http:\u002F\u002Fgeocoder.opencagedata.com we aggregate OSM, Datascience tool kit, geonames, and more. All feedback welcome",{"comments":31,"answered":38,"key":194},[195,198,199],{"id":196,"text":197},"8212663","Yes, you're right. Added to the page.",{"id":64,"text":65},{"id":74,"text":75},{"commenters":201,"max_depth":31,"maker_replies":31,"first_comment_mins":202,"lifespan_hours":203},44,72,174,[205,207,209,211,215,218,220,224,226,229,232,234,237,241,243,246,247,250,254,257,258,261,264,266,269,273,276,278,280,283,285,287,289,292,295,296,298,300,302,306,308,310,313,316,318,321,324,327,330,333,335,338,341,344,346],[56,34,46,206,57,34],"project\u002Fpositive\u002Fidea",[161,34,33,208,162,34],"project\u002Fneutral\u002Fnone",[210,34,33,208,57,34],"8212228",[212,34,33,213,214,34],"8212370","project\u002Fneutral\u002Fperformance","sudont",[216,34,33,208,217,34],"8212539","syntern",[219,34,33,208,57,34],"8212673",[221,34,34,222,223,34],"8213377","commenter\u002Fneutral\u002Fnone","timboslice",[123,34,33,225,124,34],"project\u002Fmixed\u002Fdesign",[227,34,33,228,57,34],"8219936","project\u002Fneutral\u002Fidea",[230,34,33,225,231,34],"8216079","sejje",[127,34,33,233,57,34],"project\u002Fneutral\u002Fexecution",[235,34,33,228,236,34],"8216103","harpastum",[238,38,33,239,240,34],"8212003","project\u002Fneutral\u002Fdocs","chrismeller",[196,38,34,242,11,38],"maker\u002Fneutral\u002Fdocs",[244,44,33,233,245,34],"8213151","jgalt212",[149,33,33,228,150,34],[248,33,33,213,249,34],"8211186","mischanix",[251,33,34,252,253,34],"8211230","other\u002Fneutral\u002Fnone","nostromo",[255,33,33,228,256,34],"8211534","fasouto",[190,33,34,252,191,34],[259,33,33,233,260,34],"8213167","bradleyjg",[93,262,46,263,94,34],4,"project\u002Fpositive\u002Fexecution",[116,46,33,265,117,34],"project\u002Fneutral\u002Fpricing",[267,46,33,208,268,34],"8211360","dm2",[270,46,46,271,272,34],"8211511","project\u002Fpositive\u002Fpricing","rotten",[274,46,33,265,275,34],"8212606","bluthru",[64,46,34,277,11,38],"maker\u002Fneutral\u002Fpricing",[97,31,33,279,98,34],"project\u002Fmixed\u002Fexecution",[281,31,33,233,282,34],"8212626","disdev",[74,31,34,284,11,38],"maker\u002Fneutral\u002Fperformance",[81,286,46,263,82,34],7,[169,288,33,208,170,34],8,[290,288,34,291,11,38],"8212714","maker\u002Fneutral\u002Fnone",[293,18,46,271,294,34],"8211797","shekhar101",[67,18,34,277,11,38],[183,297,33,228,184,34],10,[176,299,33,228,177,34],11,[301,299,33,208,177,34],"8211545",[303,304,46,263,305,34],"8211690",12,"ins0",[138,307,33,228,139,34],13,[142,309,33,228,143,34],14,[311,309,34,252,312,34],"8211436","mseebach",[314,309,34,252,315,34],"8211477","ars",[317,309,34,242,11,38],"8212859",[319,309,34,252,320,34],"8212277","petepete",[322,309,34,252,323,34],"8215539","nly",[325,309,33,228,326,34],"8211467","alnorth",[328,309,33,228,329,34],"8211483","davea37",[331,309,34,252,332,34],"8219498","somewhatoff",[109,334,33,239,110,34],15,[336,334,34,222,337,34],"8211148","dragonwriter",[339,334,34,222,340,34],"8211366","DoubleMalt",[342,334,34,222,343,34],"8211410","jnbiche",[345,334,34,222,312,34],"8211434",[347,334,34,222,348,34],"8242042","throwaway876876",[],[351,356,361,366,370,374],{"id":352,"name":353,"points":354,"category":355},"8222652","GlassWire",1013,"security_privacy",{"id":357,"name":358,"points":359,"category":360},"8211575","Stellar",325,"dev_tools",{"id":362,"name":363,"points":364,"category":365},"8206855","WhiteboardFox",309,"productivity",{"id":367,"name":368,"points":369,"category":360},"8208595","Duo",168,{"id":371,"name":372,"points":373,"category":360},"8217895","C\u002FC++ Development Environment for Emacs",146,{"id":375,"name":376,"points":377,"category":378},"8223200","GoReturnMe",145,"consumer_social",false,"v2",{"id":382,"name":5,"line":6,"ai":379,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":383,"top":18,"kw":384,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":385,"url":9,"mix":386,"praise":90,"objection":106,"sub":21},8210972,0.18,[24,25,26,27],"5333333333333305335033535033530000303000",[31,32,33,34],1793990910852]