I made a random street map generator a couple of months ago using TypeScript and have just around to creating an interface for it. It works by creating a set number of streets which are iterated over, placing each street on a grid using a coordinate system. It could be easily extended to include buildings on each street and even inhabitants. The generator can be seen here and the repo here.