How I Automated Monday Night Football Part 2
This is the second post about the tools I’ve built to help me manage our Monday night football team. You can find the first post here.
Step 2 — Team Management
We play a one hour long football match every Monday. There are 16 spaces available and each match costs £3. We have about 40 “players” so spaces are distributed by first come first serve. Those that do not make the initial 16 spaces get placed on a reserve list incase anyone drops out.
I used to handle all of this using a few tools:
- Mailchimp
- Google Forms
- Field Notes
- Plasso
Every Friday morning I would send an email from Mailchimp to all players. The email would include a few things:
- Details about the match (useful for new players).
- Link to the Google Form so people can put their name down to play.
- A list of people who owed dues from previous matches (stored in the Field Notes).
- A link to Plasso so people can pay.
Then, on Monday morning, I would send another email out containing all of the above, plus the list of players who got the spaces and the list of players who are reserves.
If someone drops out, by emailing me to let me know they won’t be able to make it, I then email the first person on the reserve list to let them know there is a space free if they still want it.
This process was pretty cumbersome and time consuming. So while on holiday, in the middle of no-where in France, I decided to build a web app to fix this process.
Aims
I started by writing a few bullet points about the features I wanted:
- Send “Invite” and “Team Sheet” emails every Friday and Monday
- Users shouldn’t have to “login” to the app. All the main features should be usable from links in the emails. (e.g. signing up for a match).
- Handle people dropping out and contacting reserves.
- Accept payments.
- Zero input from me!
Result!
Here is a screenshot of the main screen of the app. Bootstrapalicious!
Emails
Every week, two emails are sent out. One for inviting players to the match, the other to show who is playing. If players dropout and there are people on the reserve list, a third email is sent to everyone on the reserve list.
Invite Email
The invite email gets sent out early Friday morning. It contains a list of dues owed, with links to pay, and a link to click that will add you to the team list or the reserves depending on how many people have already accepted the invite.
Team Sheet Email
The team sheet email is sent out early Monday morning. It has the list of people who have a place for the match and those that are on the reserve list. There is also a link that will allow the user to drop out of the game.
Reserve Email
If someone drops out of a game and there are players on the reserve list, all of them will receive an email letting them know there is now a space available. The email containers a link which will sign the player up. This is first come first serve.
Payments
Payments are currently processed using [Stripe](https://stripe.com) using the basic “Embedded form”. Players have the option of paying for one game at a time or can pay for all their owed games.
In the future I want to make this part automatic too. Players can just enter their card details and then whenever they attend a match they are charged.
It might also be worth looking into GoCardless for this, as their transaction fees are significantly less.
Bonus Features
MOTM
This feature isn’t really of any use, but it’s fun.
The morning after the game another email goes out to those that played. It lists everyone who played and has a little vote link next to the name.
Everyone has until Friday to vote for who they thought was the man of the match. Then for the next 7 days that person receives a 🏆 emoji next to their name in all emails and on the website.
Weather Forecast
Using the Forecast.io API, the team sheet email contains some details about the weather during the game. I wish there was an emoji thermometer 😂
Profile Pages
Another useless feature…Each player has a profile page listing all the games they’ve attended, the number of balls they’ve kicked over and the number of games they’ve bailed. They also have a randomly generated bio (taken from famous football players’ Wikipedia pages)
Lifts
This is a small but useful feature. The majority of people don’t live close enough to the pitch that we play at, plus it’s up a massive hill.
To try and smooth the process of finding a lift, players can now check a box to say they have give a lift and their details appear in the team sheet email.
Owed Footballs
The pitch we play at is right next to a large woody hill. Every so often someones aim isn’t as great as they would wish it to be and a ball goes flying. Like dues, I would normally keep track of these in the Field Notes, but now these are tracked on the app and players can pay online.