user_contributions: separately save mp_cat_id, universal 'data' key
user_contributions.builders: start with aggregation pipeline