A Holiday Miracle for Decentralised Teams

A Holiday Miracle for Decentralised Teams

The holiday season is approaching. Our team has the tradition of doing an office Secret Santa. For the uninitiated: Secret Santa is a tradition where a number of participants draw a random partner secretly and then organise a gift for them. Afterwards, they exchange it either directly or pool the presents to not reveal the partner at all. Giving a little happiness combined with the excitement of having to think of what a random person might like, makes this special.

This year is the first year after the pandemic where we are able to do secret santa again. This year, however, is special. Because of our new remote/hybrid work paradigm, it is also the first year, in which we cannot gather around a magic hat to draw someone’s name out of. Also: The next time all of us will meet in person again will be the day of our christmas party - so too late to organise anything for the same afternoon.?

I had to solve three problems:

  • I had to create a method for everyone to submit their name and interest to participat
  • I had to generate random pairings from these participants
  • I had to inform everyone secretly who their secret santa is - even me

So collecting all this information and then manually allocating the partners wasn’t an option for me. It wouldn't be random and I would know all the pairings, which would spoil the fun. Having someone else do it was not an option for the same reasons. So what now?

mAIRy Christmas!

OK, terrible pun, but hear me out… Be grateful I didnt start with mAIRacle ;-).

What I did to solve these problems, anyone can do (I’ll also offer the app free of charge to anyone who wants to use it). I chose Airtable (hence the - granted: horrible - pun), since it is my favourite quick-hack, low-code app platform to solve most digital problems. Here’s how and why:

  1. Each Airtable table allows for easy data entry as a shareable web form?
  2. Airtable allows Javascript Scripting so creating the pairings in a hidden field should be a basic array exercise
  3. Airtable allows for data- and event-based automation, so notifying all the participants will be a matter of a few clicks

So i created a base with a single table to collect the names and email addresses from the interested participants via web form:

No alt text provided for this image
A simple erb form to collect the data

I gave the team a couple of days to submit their details. During this time I set up the automation. The idea was to use a script to fill in a partner for each member, monitor the “Partner” field, and once it contains data: send an email to the team member.

No alt text provided for this image
Automation Configuration and a Sample Email

Easy enough. Setting up the automation took all of 5 minutes, where 3 minutes went into formulating the email and documentation. This what both configuration and email look like:?

Figuring out the script was dead easy as well. I’ll leave the code at the end, if you’re interested.?

OK Boris, fine so you solved collecting, shuffling and notifying the secret santas in your team, but you see the data in the table, don’t you???

Well, yes… Unless - and this is important! - you hide the “Partner” column before you click the “Run” button on the script. You can unhide the column at any time to review the results (and spoil yourself) should any problems arise.?

No alt text provided for this image
That's all folks...

This is what the final solution looks like. Dead simple. Just a few names and a “Run” button. Once you click that, the hidden “Partner” column is filled and the person is automatically sent an email with this information.

Wrapping Up

Another pun... great.

Creating the entire solution took 15 minutes. I love the combination of database, user interface and automation engine tha airtable offers. Since I us it a lot for many . Like I stated above I’ll happily share it with anyone who is interested. Just reach out! This use case can be implemented using the free version of Airtable, so all you need is a free account.?

Do you do Secret Santa in your team? Did you face the issue of having to do it remotely? How did you solve it?

And finally: have a great holiday season!!

Nerd-On: Script to allocate Santas


//Get the names from the table

let?table?=?base.getTable('Secret?Santa');
let?result??????=?await?table.selectRecordsAsync({fields:?["Name"]});

//Store names in a separate array to choose the partners from

let?nameArray???=?result.records.map(x?=>?x.name);


output.markdown('Spreading?the?love?to?'?+?nameArray.length?+?'?people...');

//Loop through the table and fill in partners names

for?(let?record?of?result.records)?{
????var?partner?=?record.name;

    //make sure no one gets paired with themselves

????while?(partner?==?record.name)?{ 
????????partner?=?nameArray[Math.floor(Math.random()?*?nameArray.length)];
????}
    
    //Remove name from array
    nameArray.splice(nameArray.findIndex(x?=>?x?==?partner),?1)

????await?table.updateRecordAsync(record,?{
????????'Partner':?partner
????});
}


output.markdown('#?Done');        
Emma Schulze

Account Executive Zoom

2 年

We are also doing Secret Santa ??. The pairing method via "secretsantaorganizer.com" and the unpacking via ZOOM ;)! But your pairing method is professional! Would love to see a follow-up post on how your Secret Santa went. Enjoy ?? !

Oliver Biel

My ambition is to create environments where great ideas can emerge, and to take care of the people around me while never stopping to learn

2 年

I love it and Boris, you are and remain my Hero. Even though you describe it as being quite simple, to me it’s a ton: it always starts with the idea itself, translating it into the right questions, choose the best technology for the problem at hand, writing a script and execute. You have the talend, attitude and skills to repeat it every single day. You are really awesome!!! Have a great christmas time my dear friend.

Claudia Gerbersmann

Experienced Data & Analytics Professional | Agile Transformation Specialist | Knowledge Management Expert | Driving Data-Driven Decisions & Innovation

2 年

Hi Boris, I love the idea! We‘re working very decentralized, not just since the pandemic, as we have a couple offshore colleagues and colleagues in other country subsidiaries. But a question: how do you handle the different religions? We have lots of them. Will people from religions without Santa Claus be comfortable with this? (Much easier in Germany - it is kind of a Christmas tradition, but it is called ?Wichteln“, and a ?Wichtel“ is just a helpful gnome).

回复

要查看或添加评论,请登录

Boris Michel的更多文章

  • Innovation at the speed of *PUNCH*

    Innovation at the speed of *PUNCH*

    I am a sucker for innovation! So some weeks ago, when a friend of mine Alexander Schiller gave me a heads up, I signed…

    2 条评论
  • Quo Vadis QVD? No need for Qlik Sense data files in 2020?

    Quo Vadis QVD? No need for Qlik Sense data files in 2020?

    I’ve recently gotten a message on LinkedIn congratulating me for 5 years in my current job. This led me to reflect on…

    26 条评论
  • Data Strategy: Inspire Change - Part IV

    Data Strategy: Inspire Change - Part IV

    We’ve come quite some distance since the first post (Data Strategy: Bring the People) of our series in which we have…

    4 条评论
  • Data Strategy: Leadership and Data - Part III

    Data Strategy: Leadership and Data - Part III

    Welcome back! After a short introduction (part I here) and then looking at some cultural aspects that business should…

  • Data Strategy: It's a Cultural Thing - Part II

    Data Strategy: It's a Cultural Thing - Part II

    Welcome back! If you're new: welcome, to catch up, check out part 1 of this mini-series here. In last week's post, we…

    6 条评论
  • Data Strategy: Bring the people - Part I

    Data Strategy: Bring the people - Part I

    Hi all, in this blog mini-series, I want to take you on a journey of how you can make your data-driven projects…

    10 条评论

社区洞察

其他会员也浏览了