A general version of ESPN's Eliminator challenge. The frontend is made with Nextjs and urql for Graphql requests/user authentication and is styled using styled-components. The backend (written with TypeScript) uses Keystonejs as the Content Management System to store user's login credentials, tournaments they can compete in, and user's predictions in those tournaments. Images are stored using Cloudinary. Custom Graphql mutations handle updating user's predictions.