Case Study: GraphCMS and DMarket
Powering in-game trading with a Headless CMS for gaming marketplaces, enhanced with AI and Blockchain.
2U programmatically federates metadata from over 500 ed-tech offerings, ensuring up-to-date information is distributed to 300,000+ students.
GraphCMS has made it really easy to scale up our content needs when our business model gets more demanding.
2U, Inc. (NASDAQ: TWOU) is a global edtech (educational technology) company that contracts with non-profit colleges and universities to power online graduate and undergraduate degree programs, professional certificates, short courses, and boot camps. The company supplies its client institutions with a cloud-based SaaS (software-as-a-service) platform, coursework design, infrastructure support, capital, and more. They are a trusted edtech partner to some of the world’s top universities, like the University of Cambridge and Massachusetts Institute of Technology, helping them launch world-class digital education for over a decade.
Acclaimed as one of the “Tech Companies Helping Humanity” by Inc. Magazine, and a “Most Innovative Company” by Fast Company, 2U also acquired GetSmarter and Trilogy Education Services in July 2017 and May 2019 respectively.
With over 500 total offerings and 300,000+ students enrolled across all products, 2U operates a high-volume Learning Management System (LMS) empowering students at a global scale to embrace digital education.
To ensure that the metadata for all their university partners is accurate, updated, and available to students, 2U handles 100+ data points per brand (assets, configurations, etc.) that need to be reflected within the LMS itself, along with their marketing websites, course collateral, product pages, and other user-facing interfaces.
2U uses GraphCMS as a centralized content hub to house all these assets in a single repository to ensure that they don’t suffer from fragmented content. All the metadata for partners is programmatically aggregated from several partner-facing UIs into GraphCMS, before being distributed to their Amazon S3 buckets to be hosted behind Cloudfront. It was critical for the team to have all assets stored in a single repository, and within a few weeks, they managed to move approximately 90% of their brands’ metadata into GraphCMS, with 15% already served in production.
“Our goal was to have all our brands’ content moved into GraphCMS within half a year, but we’ll have them done within half that time.”
Jason Kaye, Director of Engineering at 2U
Given the success of moving to GraphCMS and having their business goals met ahead of schedule, there are early conversations of extending their adoption of GraphCMS to handle further aspects of their application content.
To manage their workflow, 2U had built an in-house Headless CMS that the editorial and content teams could manage their content in. This was intended to serve a specific use case, however, and was eventually rolled out to service other products as well. While it worked for some time, the solution wasn’t scalable.
The team was adding several new partners and products at an accelerated pace, and their system wasn’t scalable. When deciding whether to build on top of this solution further or adopt an external solution, 2U opted to go for a hosted solution and avoid “rebuilding the wheel,” avoiding any further singular points of failure or performance issues that their CMS could encounter, to prevent spending resources away from focusing on their core business model.
2U was all in on GraphQL, and while looking for solutions to replace their CMS, they considered several combinations of Headless CMS and DAM platforms before coming across GraphCMS. After an extensive proof-of-concept phase, it was apparent that GraphCMS fits their needs entirely - Headless, hosted GraphQL backend, and an editor-friendly UI - and opted to go with GraphCMS. Given that their business model was heavily using GraphQL, the choice was simple.
Given that 2U was heavily into the GraphQL ecosystem, working with GraphCMS was an easy decision. In addition, there were several observations and criteria that led to them choosing GraphCMS: