Code Monkey home page Code Monkey logo

coffee-time's Introduction

CoffeeTime

Set up casual weekly meetings between random people in your organization.

Why

Maintaining company culture, enhancing cross team communication, and serendipitous learning are all important things. They often happen naturally as coworkers share an office space. What happens when many people are remote? Chance encounters with other people can become far more rare.

CoffeeTime was created to pair people up randomly to talk to one another. It doesn't matter what level in the org chart, or what role a person plays. Anyone can be matched up with anyone for a 30 minute video chat.

The most important things to learn are often the things you didn't even know you needed to know. By making more connections with the people you work with it increases the likelihood that you'll have access to someone who can help. Maybe another person is having a similar problem to one you had and you can point them in the right direction. Maybe you just end up making a new friend!

What

This is a simple scheduled mailer that runs for free on Heroku and emails everyone with their match for the week.

The implementation is not the prettiest, there are some hacks, but it was quick to create and let us test out if randomly pairing people up for meetings is even a good idea.

Setup

Create a heroku app and install Mandrill, Redis to Go, and Heroku Scheduler addons.

Create a .env file with your tokens.

MANDRILL_APIKEY=...
REDIS_URL=...

Initialize Redis with a list of names and emails from your organization.

Create a file named people.txt with entries like so:

Then run:

bundle exec foreman run ruby init.rb

This creates a list of people to match up in Redis.

"Testing"

This test actually sends the emails based on your environment configuration.

bundle exec foreman run ruby test_invite.rb

Scheduling

Add a Heroku scheduled task that runs daily:

bundle exec ruby send_invites.rb

This will check every day if it's been a week since the last email was sent out, if it has, it sends a new email.

We'd actually prefer to schedule for weekly, but daily is the maximum period allowed with Heroku Scheduler

coffee-time's People

Contributors

shinjikuwayama avatar strd6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

coffee-time's Issues

.env example

Hi,

Would you mind pushing an example of a .env file? I put one together, but seams like I might be doing something wrong.

Thanks,
Eduárd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.