Mapping public bookcases

Posted by gvwaal on 2 October 2023 in English. Last updated on 10 November 2023.

I enjoy reading people’s diary entries, so I’m starting my own. My current project is mapping public bookcases (PBs) in neighborhoods near me.

Figure displaying dates roads were surveyed in the scope area. Roads are colored based on date, with the earliest date, 2023-09-12, in very dark blue and grading to red for unsurveyed roads.

I started this project because I chance upon PBs when going for walks and can never remember where a PB is when I need one. There’s a map of Little Free Libraries (LFLs), but adding PBs to this map is “pay to play” which I don’t like, in addition to not displaying unaffiliated PBs. Other secondary goals include:

  • having fun exploring my surroundings
  • analyzing the distribution of LFLs vs. unaffiliated PBs (because registering your PB as an LFL costs a minimum of $40 USD)
  • identifying areas of high and low concentrations of PBs
  • identifying streets with high and low numbers of PBs
  • exercising in an engaging way
  • identifying whether the concentrations of PBs correspond to particular demographics
  • identifying whether the locations of PBs are correlated with particular types of land use
  • bragging rights: how many people can say they biked 150km and contributed to the betterment of humanity in doing so?


I’m limiting my survey to the Greater Longfellow community of Minneapolis, comprised of the neighborhoods of Cooper, Hiawatha, Howe, Longfellow, and Seward. This area was chosen because they’re easily accessible by bike. Only roads that likely would host a PB are to be surveyed, such as residential roads or commercial roads adjacent residential areas.


  • Bicycle: transportation
  • Smartphone with the Vespucci app: mapping
  • High resolution leaf-off true color aerial imagery: mapping reference
  • QGIS: figure creation and data tracking


Starting with avenues (roads going north to south), I bike down the middle of the road at 5-10mph visually scanning for PBs. When a PB is identified, I stop on the side of the road near the PB and log its location in Vespucci. For busy or wide roads, like Minnehaha Ave S or Lake St E, I bike down one side of the street, then back up the other side of the street once I reach the end. This process is repeated for the whole avenue, then for all avenues in the scope area, and then for all the streets (roads going east to west). Any PB with a LFL charter sign is tagged with brand=Little Free Library. No other tags are included.

Sources of error and attempted mitigation

  • Eye fatigue: I occasionally felt my eyes disengaging after an extended duration of surveying. However, I also noticed my eyes gravitated to PBs once I came near them on the road, which makes sense, because they really stand out from their surroundings unless obstructed.
  • Visual obstructions (vegetation, autos, sun glare, etc.): Autos commonly obstructed my view of the boulevards containing PBs, but I found that I was generally tall enough to see over most autos, and when I wasn’t, that looking back over my shoulder when passing the obstruction was enough to confirm whether a PB was present. Vegetation dense enough to obscure PBs was uncommon, but when present, slowing down or looking back over my shoulder was sufficient mitigation.
  • Absentmindedness: During periods of extended surveying, I sometimes noticed I had no memory of the past several minutes of surveying. To ensure I didn’t miss anything, I surveyed the road again.
  • Distractions: Roads with consistent auto traffic, like Minnehaha Ave S, made surveying busy roads challenging, since keeping aware of traffic took away brainspace that could have been used to check for PBs. Both slowing my velocity and surveying one side of a road at a time helped mitigate distractions.

Part 2

Part 3

Part 4

Part 5

Part 6


Comment from Xvtn on 2 October 2023 at 21:55

This is a really cool project! I did a “wide-coverage” bike project a while ago, but tired quickly of adding data since it’s such a hassle to stop. I’ve long imagined some kind of a system that could record preset features without stopping. An electronic device with buttons like “Feature A Left Side”, “Feature A Right Side”, “Feature B Left Side”, and so on…

Comment from MxxCon on 4 October 2023 at 14:06

Maybe consider looking into getting a 360’ camera attached to a tall monopod attached to your bike. Or simply a helmet mount. You could record your rides and then upload them to mappilary and/or similar services and then map things from the comfort of your chair. This way you can concentrate on riding safely and not worrying about missing anything important features.

Plus your recorded imagery could also be used for other mapping tasks beyond just little libraries, such as tagging street signs, biz, curbs, parking configurations, etc.

Comment from Daarbennikweer on 6 October 2023 at 09:59

Hi, Your public bookcases project reminded me of the (good old) Google Earth Community. And Minneapolis should paint the avenues in your colors! Cheers, Daarbennikweer

Comment from Palmyra Mapper on 7 October 2023 at 23:28

Neat! I’ve been wanting to do something similar for bicycle parking.

Comment from Hobgoblin on 9 October 2023 at 08:56

I also suggest taking photographs and uploading them to Mapillary. I have managed to map a few local streets using a GoPro mounted sideways on my pannier rack. With the camera set to timelapse mode taking a picture every two seconds, I can cycle leisurely up and down a street to capture most of the door numbers and other mappable features.

Comment from Henry572 on 13 October 2023 at 19:19

Cool project! I also try to map all s in my city, but it doesn't have such a nice street grid :)

@Xvtn in case you have an Android phone, maybe take a look at which does exactly what you described.

Login to leave a comment