I’ve been wondering for the past 24 hours what I ought to do, personally, to help with the Coronavirus response – in my building, my neighbourhood, my city, more widely. I’m healthy and have some skills, but I am not a medical professional. While I might ultimately do other things as well, I have come to the conclusion that helping communities coordinate their local response is probably the best I can do. I’ll use the example of my own situation, and scale my idea from there, and then come to the tech specification below.

I live in a building with about 40 flats in it in Kreuzberg in Berlin. There are a bunch of neighbouring buildings, totalling 500 or so units. In my building there are – in Coronavirus terms – three types of people: high risk (people over 70, people with underlying health conditions), likely transmitters (families with children), and everyone else (healthy, no children – I am one of those). At the moment in Berlin all of these people can still go shopping and mix with each other, but that is also likely to end within the next few days.

With that in mind, how do we – at that scale of a building or small neighbourhood – best practice physical distancing?

The objective must be to keep two of the three groups – the high risk, and the likely transmitters – self isolated. And to use everyone else to provide those people with what they need.

So we need a system to make sure they get what they need, and – if this is done on a small enough scale – there ought to be enough social capital to mean it can be done based on trust.

There are sites and groups that are operating more widely – like Quarantäne Helden or Corona Help Team Berlin – that suffer from a scale and coordination problem. Even if you could match volunteer to need Berlin-wide, actually organising the individual activities is going to result in a lot of manual messaging back and forth, and assigning tasks is going to be mighty complex.

So here is a proposal for a tech solution that can be locally implemented, has a clear rationale, and a simple purpose. For now I will call it “Shop for me” – and it would be developed as a WordPress Plugin. It would be a system to coordinate shopping for food and other everyday necessities, designed for the scale of a building or a small neighbourhood. There would be two types of uses in the system – those that need shopping done for them, and those that can do the shopping.

This illustrates the problems with the current models, and how Shop For Me would work differently:

Here’s how it would (roughly) look:

Why do it this way?
WordPress is free, open source, easy to install, and millions of people know how to use it. There is no need to invent a complete system from scratch.

Why restrict it just to shopping for people?
That strikes me as the main need right now, but this sort of I-can-help I-need-help matching could be deployed for other purposes too. But I need to start somewhere. Similar systems could work for looking after children, looking after pets, collecting prescriptions. But for now let’s make sure people get essentials, and can self isolate.

What about helping people who do not have internet access?
That is going to need a different sort of intervention – perhaps even systems to lend devices to those people.

Why can you not just roll out a system like this to the whole city / region / country?
However much we might try to sort out a tech solution here, this system is going to need trust among its participants, and each instance of this “Shop for me” system is going to need a local coordinator. I can viably do that for 40 flats, or even 500, but probably not for more than that. The code would be made available to all, for free, open source. Assistance to get it running on a site for your neighbourhood would also be available. But this has to be done in a decentralised manner.

But here is the rub: this is just a spec. My PHP and MySQL skills are not up to the task of being able to code this. Are you a freelancer currently with little work who could help? A tech firm wanting to put your skills to a good purpose? Some kind of tech or hackers’ network? If you are, please contact me and let’s talk. And let’s do this soon.



[UPDATE 19.3.2020, 1130]

So I have now run the ideas past the 40-odd people there are on the email list for the inhabitants of the building. The response? It’s probably too complex. Oh and what about mass online orders from the supermarkets that offer that? So for the moment I have adjusted my idea – I have put together 4 simple Google Forms that save data into 4 Google Sheets. Three are for types of shopping orders: I need something specific now, I need something today from one of 5 different local shops (Pharmacy, DM (Drug store), LPG (Organic supermarket), REWE (Mid range supermarket), Lidl (Discounter)), and I want to add my order to a big weekly order from an online delivery service. And the fourth form is I want to help. I will roll this out on a test basis this afternoon. It’s probably enough as a Minimum Viable Product for now.

The “I need something now” responses will be processed individually, the “I need something today” will require a submission by 1700, and then the delivery person can go on a specific route DM-Pharmacy-LPG, then back, Lidl, back, REWE, back, for the deliveries. The “I want to add my order to a weekly order” needs more work (another resident is keener on this one, and we need to work out this will work in practice).

Once the German of the forms has been corrected I will make generic, public versions of all forms for people to be able to copy them.


[UPDATE 21.3.2020, 1400]

So we have had to simplify this still further. The idea of weekly orders using supermarket ordering systems has been dropped for now because there is simply no viable way to make that happen as all those services have been overwhelmed. We may return to that idea eventually. So we are down to 3 forms: EXPRESS (I need something now), HEUTE (today, I submit by 1700 and it will be delivered by 2000, bought from 1 of 5 local shops), and HELFEN (for people that want to help out). These forms are all simple Google Forms.

We have also been wondering how to help people who do not have an internet connection – these people we will reach with paper forms, and an order postbox, in the hallway of the building (I am lucky that I live right next to the main entrance / exit door where we will put it). We also have a simple telephone system – an old VOIP number I have with SipGate that directs to an old iPhone here. If our system expands I have two further spare iPhones we can give to other volunteers.

We also have registered a domain name and put up a simple WordPress site at the moment just to explain to people what we are doing. And that we can then easily replicate for anyone else in other neighbourhoods who might do the same.


  1. Frank Gaebler

    Hi Jon,

    I like the idea, but I am missing a bit the focus on the workflow aspect of ‚Shop For Me‘. Maybe open source solution for task boards (e.g. Kanban boards) can be used?

    As a someone who is willing to help shopping, I would like the following use case: I need to go shopping for my own needs, but am willing to buy also stuff for those who need. I check the website for appropriate ‚to do’ tasks. If I find a task, I assign it me, switching it to mode ‚in progress‘. If I delivered the items, I can switch mode to ‚done‘, otherwise it falls back to ‚todo‘.

    Typically, tasks can be prioritized by urgency, either by those who add the task or by the moderator.

    Of course, adding a new task should also be as simple and intuitive as possible. There might be huge differences within different task board solution.

    Note also, that those task boards are typically designed for software engineers, so they assume a certain technical competency. So they might be still too complex for our needs…. just an idea!

    Frank Gaebler

    • Much of that sort of approach would have been accomplished with the tool I outline in this post, but pretty much all the feedback was that even what I propose here was too complex. Hence why the project was scaled down to what I outline here. Let’s see how this V1 works and iterate accordingly! In the meantime I will have a look how to combine Kanban Boards with WordPress.

  2. Wilf Forrow

    Hi Jon!

    I love your idea and enthusiasm, but there are some huge logistical issues, especially where money’s involved.

    A half-way house perhaps? If you have supermarket ‘click and collect’ systems, as we do in the UK and probably most of Europe, you could let the existing proven supermarket system do the heavy lifting? People would shop online, the supermarkets are very efficient at picking stuff from shelves and handling the money.

    The WordPress system would just have to put people in contact to say ‘my order will be ready at x’, and put them in touch with someone who can collect it, with appropriate authorisation.

    Here in the UK, we also have supermarket delivery to home, but all the slots are booked for weeks ahead, because the delivery is the big bottleneck.

    • Thanks for the comment! *But* in my building in Berlin we have the opposite problem – this is one of the most cash dependent cities anywhere in Europe, and the supermarket delivery (or even order and collect) system is very under developed. And were that not problem enough, supermarkets currently have massive staff shortages, so cannot scale their delivery offer… one Berlin chain has put a block on new customers for example.

      Oddly the problem I am NOT going to have in this building is payment – the social norms are so strong that if someone did NOT pay, neighbours would apply pressure to make sure they did! That might mean this system can’t work outside Berlin, or would have to be adapted, but here the payment aspect will not be where it breaks.

  3. Tobias Schwarz

    Hey Jon,

    I’ve started to play around with this idea on my local server based on a custom post-type “shopping list” and using Advanced Custom Fields Pro (which would have to be bought or donated by the author for this purpose if ever deployed) for field lists, and front-end editing/submission of user and shopping list data. I think this could work as a theme for a WP multisite setup (as long as ACF Pro is running).

    I don’t understand why you want to split the users into two groups? They could be both, though not at the same time. Why shouldn’t they be able to have both views? I’ll try to have a PoC up tomorrow or Thursday (or will let you know that it doesn’t work that way).

    • For the sake of the safety of it (not the tech of it!) you need to split the users – you need deliverers, and those needing deliveries, and the same person must NOT be in both groups. Otherwise you break your physical distancing!

  4. So I AM a web developer with the relevant skills to build this (though not currently the time).

    It’s a great idea and I’ve been pondering similar things myself. It would actually be quite tricky to do this in WordPress because WordPress does relationships between things very poorly. But I can see why you would want the ease of installation for it. Something like this would be much easier to build in a framework like Laravel, but clearly would be harder to install and set up for people.

    I think you could build it from scratch, but I also wonder what existing tools might be able to serve this purpose with less effort. The https://coronavirustechhandbook.com/ has some stuff listed that might help with this already:

    LocalHalo: https://www.localhalo.com/coronavirus
    An AirTable setup: https://airtable.com/universe/expuEHCjKcInGvGzq/coronavirus-community-support-service-database
    Or this pop-up app: https://localhelpers.org/

    As a technologist, I think I could get carried away with trying to MAKE a thing, when I think the greater need is for people to be connected with existing things. But that’s just my view.

    Great that you had this idea.

    Happy to chat more if you want. You should have my email address.

    • Thanks for the comment Ross!

      LocalHalo and Local Helpers are very similar to Quarantäne Helden that we have in Berlin… but does not (it seems) work, as the scale is too large and the matching too poor. AirTable *might* do the trick – I will dig a bit further there. And yes, I have read through what there is in the Corona Virus Tech Handbook (before I wrote this blog post actually).

      I am all for using what we have, but likewise we also need to structure something a bit here IMHO. Having tried to sort these sorts of things via Messenger groups until now it ends up with a horrible mess… because the sorts of requests people have (if that’s not in stock, what do I do?) keep on repeating.

  5. I can do your data protection stuff Eng and DE.

  6. Chris Maunder

    Great idea 🙂 Good on you for showing initiative. I’m not a coder so cannot help with that, but I hope you can find someone to assist

  7. Looks like a great idea and great start!

    A few suggestions:
    1) Collecting a mobile/phone number would help for clarifications / delivery
    2) asking for how they would prefer to pay would help make it clear that is is paid for usually – but an option to pay later or can’t pay could also be there so it is clear up front

    There might be a second part of this which auto-registers the plugin with a central DB (once location and coverage area is known) so that people can find the nearest “shop for me” host.

    • 1) It’s only on the sketch with an arrow, but yes, a mobile phone number will be obligatory.
      2) For this community everything will be done by bank transfer (and, if some shoppers want it, PayPal as well) – but other communities might need different systems for this.

      Re. a database of instances – yes, that ought to be doable!

Leave a Comment

Your email address will not be published. Required fields are marked *