Inspiration
In this time of mostly virtual work, it's harder than ever to stay connected to, and involved with, your team. I wanted to build something that I could use as a gentle reminder for me to reach out to a different member of my team each day (especially those that I may not always have a lot of day-to-day communication with).
Also I wanted to provide a potentially fun, interesting reason for team members to look forward to logging into Monday.com each day.
What it does
On the first load of the dashboard widget each day, the system will automatically pick a random Team Member (who hasn't recently been picked) from the list of users associated to the viewers account.
If you have the 'most active' feature turned on, it will also use the Monday.com activity log to determine and highlight who was the most active member the prior day (potentially providing a fun & friendly daily competition among team members; and help drive interest/activity across all your boards).
How I built it
I built the service using a combination of a self hosted NodeJS site and the Monday.com SDK (with various GraphQL queries).
Challenges I ran into
It took me a little while to determine if this should be a board, a dashboard widget, or an integration (my initial efforts were as an integration, and I spent some time digging into the OAuth and API features before realizing most of what I wanted to accomplish could be done best as a Dashboard widget using the javascript Monday.com SDK).
I was not (yet) able to figure out how to use the settings options to allow for a specific, one-time, trigger to be manually fired (so the widget admin could manually request the Team Member of the Day to be changed immediately). Ultimately, I decided it wasn't a required feature for this initial version (so I left it out).
Accomplishments that I'm proud of
I think I was able to find a good balance of simplicity and customization -- and I think the idea is a fun addition to any team dashboard or report.
What I learned
Monday.com already has a ton of features, customizations, and integrations readily available (most of my initial ideas/plans were already offered by the platform itself).
The difference between custom triggers, widgets, and integrations (and how to build something for each one).
GraphQL (at least the basics and the core features Monday.com takes advantage of).
What's next for Team Member of the Day
I would like to figure out how best to offer some additional administration features for the dashboard/widget owner. Ideally providing the ability to manually request the system pick someone new immediately; potentially providing some stats on how often each member is picked over time.
Potentially offering a few other features/ways to highlight a team member each day (such as most assigned/biggest workload today).
Potential design updates/tweaks (making it more visually exciting/fun).
Potentially allow for alerting (so team members can be alerted when they are selected as the Team Member of the Day).
Potentially linking the Team Member of the Day to a report or custom board that provides some additional information/details about the user and everything they are currently working on.
Built With
- javascript
- monday.sdk
- mongodb
- node.js
Log in or sign up for Devpost to join the conversation.