We started building deutschlandzusammen.de one week ago, Sunday March 15. Simon needed help from his neighbors during quarantine, and we thought it would be good to have a website with automatic search for help based on location.
What it does
People who want to offer help register on the site. They tell us their location (which is not shown publicly) and a radius where they can offer help. They offer types of help like shopping or petsitting, and tell if they have a bike or car. Finally, they state on which days they can offer help.
People looking for help search for a date and location. They can make use of address autocompletion and automatic localozation through e.g. their phone. They find someone who is offering help and can send them a message through the portal.
The message is shown in the profile, sent by e-mail, and if the offerer agreed pushed to their device using the WebPush API.
The two meet and help is organized.
How I built it
Deutschlandzusammen.de is a Django application. We use GeoDjango (django.contrib.gis) for location services such as perimeter search. We use the Google Maps API for location to point resolution and Open Street Maps to show maps and provide address autocompletion.
Challenges I ran into
We thought hard about protecting the privacy of users as best as possible. For example, showing a map with the offers could lead to someone being stalked after helping. Even showing the locations with some random offset might seem save at first, however if the offset is really random and not constant per user, then an adversary could simply show the map a lot of times and calculate the average location. Questions like this made the development more complicated than we thought first.
It's really hard to get publicity, especially when there are many other similar portals being created these days.
Accomplishments that I'm proud of
A complete and functioning website, developed by only three people in a week, with working geographic services which I never used before.
What I learned
There are many more open questions in a project than one might think in the beginning.
What's next for deutschlandzusammen.de
Gain popularity and publicity, rethinking if we can ask users for less data.