It _is_ possible to use native OS APIs for location lookup, but these all seem to rely on cgo. Which was a bit intimidating for a "let's learn Golang" project
(Probably not the nicest code and no doubt I've broken a lot of Go idioms, but it was a good learning exercise)
IPInfo is a good service and their developer relations were surprisingly relaxed about me (mis)using their API this way