Experiment with Shapely instead of GeoDjango for GEOS bindings
One of the issues noticed while implementing #163 (closed) were that Django's bindings for polygons are slow, due to the large amount of classes, inheritance, descriptors, magic methods and other metaprogramming stuff used in there. Despite a lot of time spent optimizing, some endpoints might take twice as long to run now, because a single instanciation of LinearRing
or reading the coordinates just once wastes a lot of time.
Some overriding of Django geometry database fields was already done to properly enforce polygon constraints; it should, in theory, be possible to use the existing changes to use another library such as Shapely to provide the bindings. There also are other GEOS binding libraries such as pygeos.