This is an example geofilter using the existing interfaces. What is striking to me is how much boilerplate code is necessary. I have some ideas how this could be improved.
AttributeSet.data instead of a custom model. This is a JsonField, so we can add more data without migrations. On the other hand, I am not sure if I want to encourage filter authors to meddle with