A client from the IT industry required a shape file describing residential areas.
Residential areas can be mapped in OpenStreetMap but they aren't always mapped properly; even in otherwise well-mapped areas, you sometimes only have houses or residential roads but not the areas. But it is possible to fix that by extrapolation.
In a first step we took all areas clearly marked "landuse=residential". Because that's not sufficient, we added residential roads to the mix.
Roads are line geometries but we want areas. This can be solved by making a large buffer around roads, and computing the union of these buffers (which will overlap in residential areas). Later, a similarly large negative buffer is computed from the resulting shapes, making sure that the area doesn't extend too far out.