Dagens lunsj (Slack bot)

logoPublished 21.11.2023

Check out the website

Make lunch decisions a breeze for your team! Today's Lunch bot suggests, votes, and picks your meal democratically. No debates, just delicious decisions. Integrates easily into any Slack channel.


The image displays a slack-bot asking daily if the team wishes to activate it for lunch decisions. If unused, it remains inactive to avoid spam.


Introducing "Today's Lunch" – A Culinary Democracy for Your Team

Hey there! I'm a 27-year-old full-stack web developer living and working in Oslo, Norway. Driven by curiosity and a passion for new technologies, I embarked on a project that turned the mundane task of deciding what to eat for lunch into an engaging, democratic process. Allow me to introduce you to "Today's Lunch" bot for Slack, a creation that not only simplified our lunch decisions but also brought a bit of fun and fairness into our daily routine.

The Birth of an Idea

Choosing what to have for lunch might seem trivial, but it can often lead to indecision and mild frustration within teams. My objective was simple: eliminate the daily debate and create a more harmonious way to make lunch decisions. "Today's Lunch" was born from this idea, utilizing a straightforward yet effective approach to bring the team together in deciding our daily feast.

How It Works

Leveraging Node.js and Express.js, and hosted on an AWS Lightsail instance, "Today's Lunch" integrates seamlessly into Slack.

Step 1

Every morning, at 10am, it inquires if lunch is on the agenda.

No alt text
( Here you can see the first message of the day, as you can see one of the team members have already clicked the button to activate it for that way. )

Step 2

If a team-member clicks the button to indicate there will be lunch that day, it awaits until 10:45 to collects suggestions appearing in the thread 🧵

No alt text
( Here you can above see the replies it got for that day. )

Step 3

and, come 10:45 AM, it will randomly selects the day's lunch champion.

No alt text
( As you can see it randomly picked a winner, and also extracted the "meal" or "place" to eat from the sentence it chose. )

This process ensures everyone has a voice, and the element of chance keeps things exciting.

The bot goes a step further by meticulously storing each day's choices and outcomes in static JSON files. This not only avoids the complexities of database management but also crafts a historical tapestry of our culinary journey.

A Dash of AI

Incorporating ChatGPT-4, the bot now boasts an enhanced understanding of our lunch suggestions. If a team member suggests "feeling like sushi today," the bot consults ChatGPT-4 to discern that "sushi" is the heart of the request. This smart integration ensures our preferences are accurately captured, making the selection process not just random but also intelligently informed.

Why This Matters

Developing "Today's Lunch" was a journey of learning, growth, and fun. It refined my technical skills, deepened my understanding of team dynamics, and showcased the power of simple, tech-driven solutions to everyday challenges. More than a tool, it's a testament to innovation, collaboration, and the joy found in sharing a meal.

As this project takes pride of place in my portfolio, it stands as a reminder of what we can achieve when we blend technology, creativity, and a dash of humor. "Today's Lunch" isn't just about choosing what to eat; it's about building connections and making the day a little brighter for everyone.

Technologies used