Follow-up application questions from NLnet

Writing back to NLnet - answering the initial questions they’ve posed

Dear Vasilis,

you applied to the 2021-08 open call from NLnet. We have some questions
regarding your project proposal Karrot.

You requested 20000 euro. Can you provide some more detail on how you arrived
at this amount?

Hello again and sorry for our slightly late reply,

As we are a community-run project we take decisions collectivelly which sometimes asks for some extra time.

The amount of 20.000 is a bit of a ‘guess’ at the moment. We asked for this amount based on the processes and elemments we seek to develop and based on
our experience of how productive we were when little or no money was available. For this decision (i.e. to ask for 20.000 euros) we have also thought of how things could change from having funding available. So far we have been almost entirely a volunteer-driven project, so funding represents a potential shift, and we want to make sure that it’s a smooth transition as we believe that there can be many pitfalls when adding money into a previously volunteer-driven project. What we know for sure is that we do not want to have market rates, choosing instead to keep the values of frugality and solidarity in our project, while being able to give some financial support to contributors and make Karrot a bit more sustainable.

We think it makes sense to define 3 categories of contributors:

  1. ‘core’ contributors that want to receive a modest “basic income” to support their life costs (between 300EUR and 600EUR per month, but subject to more discussion)
  2. collaborators who are willing to work at solidarity rates (15-20EUR/hour)
  3. people who would like to contribute as volunteers

For us, it makes sense to think in terms of the next 1-3 years, to make a sustainable plan, rather than try and massively increase our pace and then have to stop again. We’re curious about what kind of time frame usually makes sense for you for these funding rounds and this is something we would like to discuss with you.

Could you provide a breakdown of the main tasks, and the
associated effort? What rates did you use?
It is not clear to us which features you want to develop during the project.
Can you elaborate on this?

Our 4 categories as they appear in the application we 've submitted make a good starting point for this, which can be refined a little now:

  1. malleable tools for self-organization and community building
    a. implement agreements feature (that has already been designed) - New agreements feature · Issue #2441 · karrot-dev/karrot-frontend · GitHub
    b. add softer sanctions for use in conflict resolution process - discussion:
    c. implement place types - Add place types · Issue #2244 · karrot-dev/karrot-frontend · GitHub
    d. add roles that groups can define themselves
    e. limiting activities to certain roles - Activities that require role by nicksellen · Pull Request #2421 · karrot-dev/karrot-frontend · GitHub &

  2. boosting participation and improving contribution experience
    a. refine and produce an open source handbook detailing our participatory design method
    b. simplify frontend data management
    c. improve frontend testing setup
    d. produce better developer documentation, particularly frontend
    e. organising face-to-face meetings and hackweeks for contributors

  3. breaking the silo of group boundaries
    a. conduct a design process to explore what features can better support the groups’ engagement that use Karrot with the wider public
    b. implement the outcome from the design process, a minimum viable feature, in an iterative way

  4. growth and federation
    a. explore options for sharing public information about groups more widely
    b. support public group information to federate across instances
    c. connecting to groups and networks that might benefit from using Karrot

What existing projects and tools are you using?

From the perspective of our software we use:

  • Django (with Django Rest Framework)
  • postgresql + redis
  • Quasar UI framework
  • VueJS (via Quasar)
  • GitHub
  • CircleCI

For our project co-ordination we use a range of open source tooling, self-hosted where possible:

  • discourse (forum)
  • rocketchat (chat)
  • hedgedoc (pads)
  • exaclidraw (diagrams)
  • jitsi (video calls)

Methodology-wise our approach is inspired and informed by

  • community-based and design justice approaches which support ‘end-users’ participation in all phases of design
  • design ideas found within the 'solidarity HCI (human computer interaction) wave : building technologies for communities and not for markets
  • other design methods (i.e. We have also used ‘google sprint’ as a methodology which we have tailored to our needs)
  • generally being very open/transparent

How do people find out about Karrot? Do you see online discovery as a first
class citizen in the Karrot experience, or is the online presence just a
marginal extension of the local presence? Do you support (or intend to)
support standards like ActivityPub or microformats?

So far, most of our awareness has been through foodsaving networks in Europe. There are 2 types of discovery we can think about:

  1. groups looking for tools to support their organising
  2. people looking for groups they might be interested in which already use Karrot

We focus on the first of those, and see ourselves as a tool to be used by groups. The groups themselves often create awareness for the second part though their local activities. We would be very interested for a much wider range of groups to have awareness of how Karrot can support them.

We are interested in ActivityPub and it’s ability to support interoperability across a federation, but we also want to ensure any uses are rooted in the experiences of our groups on the ground. We aim to be a technology tool that supports a very ‘human’ form of organising, often involving many people who are not comfortable with technology.

A good initial case for standards like ActivityPub would be to support federation of public information about the groups.

Has Karrot been designed with federation in mind? How is data aggregated
across different instances? What means for moderation do you have? How do users
get authenticated?

We are deeply federated at an organisational level, as each Karrot group is entirely independent. (our “parent” project, went down a different route there). So far though it has seemed easier to just get groups to use our main instance (, but would be interested to expand that as mentioned elsewhere. Most of the activity in the software at the moment though is internal organising within the group, and inter-group sharing is on the horizon for now as one of the processes we aim at better supporting.

Moderation is handled by each group themselves. For example if there is an issue, there is the possibility to start a democratic conflict resolution process, at the end of this the user is either allowed to stay in the group, or is removed (and can re-apply if they want…). Users can only join groups through an application process, and usually they will have an in-person aspect to this too. For a tool like karrot “moderation” is not just an online process, and not everything the group does is represented within the software.

User authentication is by creating an account on a specific instance. We think of supporting other login methods in the future.

You are considering making the platform available to different communities. Is
there a shared way to make e.g. events from these different groups of people
with different interests visible to each other? Are you aware of projects like
Fairsync (NLnet; FairSync) and NLnet; All projects

We haven’t come across those two projects before, and from a brief discussion they could be useful in sharing this basic public group information more widely, and also events (or other custom activities) if we develop the features for organising more public events (currently events/activities are for internal community organising, rather than mass public event) then those could be suitable to for use with those tools/protocols.

Thank you very much for your timely reply, and have a great week!

It’s also worth mentioning that we are quite keen on video calls and deepening connection between contributors of all levels and types to the project. So, we run such calls at least 2 times per week. So at any point, you’d be interested to hop on a call with us, we’d be very very happy! Can be a good way to get a sense of what we’re about quite quickly :). Except for our casual Karrot calls which you could join we could of course organize a video call where we can discuss more about our possible collaboration and elaborate more on what we 've wrote so far about Karrot in the application and this e-mail.

Bruno, Vasilis, Nick

Management summary

Karrot started as a free and open-source tool to support grassroots initiatives that save and share food waste, but it has been gradually re-designed to become a more general purpose tool to support various groups of people in their face-to-face activities on a local, autonomous, solidarity-driven and voluntary basis. Some of its defining features are the self-assignment of tasks, full transparency of members’ actions and no admin roles, using a trust-based system instead. In order to better support the diverse ways in which people self-organize and practice commoning, this project will further develop features focused in the needs of end users through a participatory design process. We will work with the themes of collective agreements, role assignment and going beyond group boundaries for organising, which includes exploring options for federating. The same way we envision the software to be used, we will continue to work for the governance and organisation of Karrot project itself to be community-driven, transparent and democratic

Extracted from pad to share some thoughts/ideas about nlnet funding - HedgeDoc where you can find extra notes