I recently read a book by Google’s head guy on API design that was specifically about designing APIs and it had a big section on what makes a good identifier and why people reach for UUIDs and why specifically it is a problem on multiple levels.

The thing that he ended up recommending however was super interesting in that I had never seen it mentioned before but it was basically to use this instead http://www.crockford.com/base32.html

ULIDs are base 32 as well. https://github.com/oklog/ulid

Is the spec not a better link than a go implementation?

https://github.com/ulid/spec