0:00
/
0:00
Transcript

Calendar Invite Server (CIS) NFL Game Demo Explainer

How the automated Calendar Invite Pipelines work for the Organizer and the Customer.

Briefing Document: AWS Calendar Invite Server for NFL Game Schedules

This briefing document outlines the core functionalities, architecture, and key benefits of the Calendar Invite Server, a system designed to efficiently manage and distribute NFL game schedules with a calendar invitation pipeline.

The Mini Site, developed by my co-founder, Arnie McKinnis, utilizes the API for NFL data available from the Event organizer, Mandy, who has built the NFL schedule profile using her Google Calendar to inject and manage all the games in the Calendar Invite Server.

Arnies uses the Calendar Invite Server APIs to pull the dynamic data for the schedule, sorts the data using JSON arrays with Vue.js, and displays the NFL games into various “Cool Views” by Game, Region, and conference.

He embeds the Calendar Invite buttons into scheduling pages, allowing customers to send and track invitations by the organizer with one click using the REST API.

This enables customers to easily select a game to be sent from anywhere on the page, as they load the email address into a stationary email box, allowing for creative freedom to navigate the game schedule page views.

Here is a 1-minute Video on the 1 Click Calendar Invite.

Main Themes and Key Concepts

  1. CRUD Engine via Email Box: The system leverages standard calendar clients (e.g., Google Calendar) and an Amazon Simple Email Service (SES) email box as its interface for Create, Read, Update, and Delete (CRUD) operations to the Calendar Invite Server Pipeline. The pipeline is fully automated for Google or Microsoft Calendar Clients.

  • Core Idea: "Mandy loads all her games using her calendar client. In this case, the first step is to use a Google calendar client, and then she retrieves all the game data for the NFL and sends it to create@calendarnack.com.

  • This initiates our ingest process, specifically for Calendar Invite Inbox ETL.

  • Functionality: Users (organizers like Mandy) send calendar events as simple "create commands" to a designated email address (create@calendarsnack.com). This email box acts as a Dropbox for SES.

  • Updates and cancellations are also handled by resending the modified or canceled event from the organizer's calendar client. This approach "keeps everything really simple and it allows for large manipulation of game schedules."

  • Calendar Client Technology: This piece of technology, which is installed on three billion desktop clients worldwide, is the calendar client.

  • Therefore, it becomes an easy decision to use it as a create, read, update, and delete engine. You don't need to log in as a customer for the first step.

  • We abide by the Calendar Invite CRUD commands.

  1. AWS Calendar Invite Server and Data Pipeline: The ingested calendar invite data flows through a structured pipeline within AWS for processing, storage, retrieval, updating, cancellation, and tracking of Calendar Receipts.

  • Ingestion (Email Box to ETL In): This data from Mandy's calendar is ingested, and the calendar invite is disassembled and stored as a new event in the database, with an assigned Updates or Cancels trigger and a "UID increment added" workflow when the Organizer re-sends data back through the pipeline.

  • Storage (Principle #2): We store all this data, so, in principle number two, the storage system layer and the processing functions are used for display analytics and building upcoming web pages that incorporate all the data.

  • Data is stored in S3 and DynamoDB.

  • Extraction & Assembly (API One - ETL Out): "API ONE” is an ETL out routine... after we disassemble and mark the UID we are ready for to Re-Assembling the Calendar Invite using the embedded calendar invite api endpoint #1.

  • Reconstruction and Sending: The "calendar invite send API endpoint which matches the email to the UID and reassembles the calendar invite for sending using AWS SES raw API." This pipeline allows for on-the-fly reconstruction of calendar invite sending, updating and canceling with Calendar Receipts collection on a per customer basis for the games creating a “two way communication directly to the calendar”.

  1. Organizer-Centric Dashboard and APIs (Calendar Snack): The system provides tools for organizers to manage and visualize their event data, and for participants to receive invites.

  • Display and Analytics: "Calendar snack is an awesome APP that Arnie built that displays all the great rich data from the APIs for the Organizer we have and then the displays of various ways in which the send APIs are used in various things like the upcoming events GUI selector, the bulk send engine event GUI selector, the MailChimp RSVP Button GUI selector and then how we're doing these multi-event upcoming pages which are essentially custom one off Mini Site in which Arnie has built."

  • Organizer APIs (2-7): A suite of seven core APIs (2 through 7 for the organizer, API 1 for sending invites) is used to "gather and pull data for the organizer" and power features like the Organizer and Domain owner dashboards.

  • Participant Engagement (API One - Send Invite): The system facilitates a seamless experience for participants. "Essentially what happens when I put an email address in here for Zack at techchvader.com i click a button I receive a calendar invite pulled off this page matching the email address to the UID out of the Dynamo database and basically we reconstruct the calendar invite on the fly every time."

  • Response Tracking: When a participant (e.g., Zach) responds to an invite (yes, maybe, or no), "we're actually requesting a participant calendar receipt to be sent back via API gateway and then we gather that here in the event organizer dashboard."

    Constantly monitoring the Customer Calendar Client for changes.
  1. Real-Time Data Manipulation and Calendar Invite Update Synchronization: The pipeline ensures that changes made by the organizer’s calendar client for that attached event using the create@calendarsnack.com address are regenerated into calendar invite updates to those who have said Y or M.

  • Live Demo Confirmation: The speaker demonstrates updating a game detail (adding "stop by surprise vendor booth 431 and get a free scoop of ice cream") on Mandy's calendar, which is then immediately reflected on the public-facing NFL schedule page. This proves a "fully qualified working pipeline."

    The APIs and Interfaces support the Calendar Invite Server Pipeline, working with the Organizer’s Calendar Client for CRUD operations.
  • Dynamic Page Generation: The public-facing NFL schedule page, built with Vue.js, "pulls out all the APIs and displays the data."

  • This indicates dynamic content generation based on the stored and updated data.

Most Important Ideas/Facts

  • Simplicity of Ingestion: Utilizing existing calendar clients and email for CRUD operations simplifies the data input process for organizers.

  • Unique ID (UID) Management: Each ingested calendar event is assigned a UID, and updates trigger a UID increment, crucial for tracking and managing changes to events.

  • Disassembly and Reassembly of Invites: The system disassembles calendar invites for storage and then reconstructs them on demand, ensuring flexibility and efficient data management.

  • Embedded Calendar Invite API (API One): This is a critical endpoint that dynamically creates and sends personalized calendar invites to end-users based on their email and stored event data.

  • Organizer Dashboard (Calendar Snack): Provides a comprehensive view and control panel for organizers, displaying analytics and facilitating bulk sending.

  • Real-time Updates: The pipeline supports instantaneous updates, ensuring that any changes made by the organizer are immediately propagated to the display dashboards and reflected in new calendar invites.

  • Scalability: The use of AWS services (SES, DynamoDB, S3, API Gateway) suggests a highly scalable architecture capable of handling large datasets and numerous requests, as demonstrated by previous work with NBA, NFL, and MLB schedules.

  • Participant Feedback Loop: The system captures participant responses (yes/no/maybe) and routes them back to the organizer's dashboard, providing valuable engagement data.

  • Demonstrated Functionality: The live demo effectively showcases the end-to-end functionality, from data ingestion and updates to dynamic page display and personalized invite sending.

  • The 2 Person Podcast Mini Site Review

NFL Sep 10 Demo Map
4.21MB ∙ PDF file
Download
Download

Discussion about this video

User's avatar