Vici Team simplifies the process of coordinating sports games or general events between large groups of people. This app specifically improves communication between the group organizer and participants by automating notification of events and substituting mass emails with text alerts.
Some features have been leveraged from my previous app Sportee.
This project has been implemented using the Ruby on Rails web framework, a PostgreSQL database, and a frontend created with React.js following the Redux architecture. Sending and receiving texts are accomplished through the Twilio API. The app delivers content as needed on a single static page and via text.
My pickup soccer group tediously organized their biweekly games via email. The organizer often went through the following emails just for one game.
This is a lot of effort for two games a week. On top of this, some people even replied all! Vici Team transformed this process:
Home / Group Events Tab
Group Member View (No Access to New Event tab)
Organizer View (Access to New Event tab)
Note that the new event tab is only available to the organizer of the group. This limits event creation to the organizer.
Upon sign up users are required to supply a group code which links their account to a single group. After logging in, users are automatically navigated to their respective group. The user's phone number is also tied to that group, allowing the user to interact with Vici Team via text messages.
Users are able to RSVP to events and see a live update to the number of people attending the event. Users are also able to remove RSVPs via the same button. Users also have the option to simply text "In" to the Vici Team number which is connected to the Twilio API.
The group organizer sets a limit on the number of users that can attend the event. Users are not able to RSVP via the online site or via texting if the event has reached maximum capacity.
The group event tab is the landing page for each group. This page displays:
- Location - The location of the group
- Members - Total number of members
- Organizer - The person who created the group
- Group Description - User written description of group
The group's events are listed with the following details:
- Date - Date of event
- Time - Time of event
- Duration - Length of event
- RSVP Count - Total number of users who have RSVP'd
Group New Event Tab
The privilege to edit/delete an event is only displayed on an event if the current user signed in is the organizer of the group. In the example above, the organizer is logged in (note the edit and delete icons at top right).
The group organizer can organize members who have RSVP'd to the most recent event. The members automatically populate with the option to assign users to a black or white team. Clicking on the Text Teams button sends out team assignments to only the users who have RSVP'd to the event. Below is a sample text message a member would receive.
Group Members Tab
Users are able to view all members of the group and their contact information.
Calendar displays all of the group events by month.
Heroku Jobs - Automatic Texting by Date
Vici Team is setup with a Heroku Job that runs daily to check to see if there is an event two days from the current day. If there is, the app sends out a text message to all group members reminding them of the event and asking for RSVPs.
Twilio API - Intelligent Responses
The Vici Team number that is connected with the Twilio API intelligently responds to user requests based on some of the following factors: the date of the event, the max number of participants allowed to join, and whether the user is a member of the group.
Users are able to toggle on and off texting notifications. This is useful if they prefer to use the web app instead of texting, or if they are taking a break from the group.
I plan to continue the project with the following features:
Intelligent Team Formation
I would like to aggregate weeks of team lineups and use an algorithm that determines patterns in team selection in order to give a suggested team lineup for the organizer.
Users who still prefer email can toggle on email messages and respond "In" or "Out" to the email. Vici Team will then handle the RSVP logic similar to the text messaging currently in place.