Frequently Asked Questions

Product Overview & Demo Details

What is HYGRAPHlix and what does it demonstrate?

HYGRAPHlix is a composable movie streaming platform demo built with Hygraph, TypeScript, NextJS 14, Tailwind CSS, and Mux. It showcases how to use Hygraph as the backend for a streaming platform, demonstrating content modeling, integration with external APIs, and video delivery using Mux. (Source)

How does HYGRAPHlix use Hygraph for movie data?

HYGRAPHlix uses Hygraph to pull movie data and metadata from an external system via a mock API called "Federate This," which wraps OMDB (an open-source movie database). Metadata such as director, actor, genre, and poster is piped into Hygraph using a remote source connection and a remote field called federateMovie in the Movie content model. (Source)

What technologies are used in the HYGRAPHlix demo?

The demo is built with NextJS 14, Tailwind CSS, Mux for video streaming, and the "Federate This" demo API for movie metadata. Hygraph serves as the content backend. (Source)

Where can I find the HYGRAPHlix demo and source code?

You can access the live demo at https://hygraph-movie-starter.vercel.app/ and the GitHub repository at https://github.com/lowisren/hygraph-movie-starter. (Source)

How does HYGRAPHlix handle sorting movies by genre?

HYGRAPHlix creates a genre section by querying all movies in Hygraph and their OMDB metadata, then grouping them by genre using JavaScript's Set object and rendering each genre section dynamically. (Source)

How are individual movie pages structured in HYGRAPHlix?

Each movie page contains the Mux video player and metadata from OMDB, including plot, actors, director, genre, rating, runtime, and release year. The Mux player component allows customization of controls to fit your brand. (Source)

How do I connect Mux to my Hygraph project as shown in the demo?

To connect Mux to your Hygraph project: 1) Sign up for a Mux account, 2) Install the Mux app in your Hygraph project, and 3) Create access tokens for your Mux account. Detailed steps are provided in the demo blog post. (Source)

What is the role of the 'Federate This' API in the demo?

The 'Federate This' API is a mock API used to wrap OMDB and provide movie metadata to Hygraph via a remote source connection. This enables the demo to showcase content federation and integration with external data sources. (Source)

Can I clone the Hygraph project used in the demo?

Yes, you can clone the Hygraph project using this link: Clone Hygraph Movie Platform Starter. (Source)

How does Hygraph enable content federation in the demo?

Hygraph enables content federation by allowing you to connect external APIs (like OMDB via 'Federate This') as remote sources and map their data into your content models using remote fields. This allows seamless integration of external metadata with your Hygraph-managed content. (Source)

What content model is used for movies in the demo?

The demo uses a single content model called Movie, which is extended with remote fields to include metadata from OMDB. This model supports flexible content sections and individual movie pages. (Source)

How does the demo handle video streaming?

The demo uses Mux for video delivery, integrating the Mux player component into individual movie pages. The player can be customized to match your brand. (Source)

What steps are required to set up the demo locally?

To set up the demo locally: 1) Clone the GitHub repository, 2) Clone the Hygraph project, 3) Set up environment variables (including your Hygraph endpoint), and 4) Connect your Mux account as described in the blog post. (Source)

How does the demo fetch and display movie data?

The demo uses an asynchronous function to query all movies from Hygraph, including their OMDB metadata, and returns a JSON array of movie objects. It then renders movies by genre and displays individual movie details using React components. (Source)

What is the benefit of using a single content model for movies?

Using a single content model simplifies content management and enables flexible content sections, such as top movies, genre listings, and individual movie pages, all powered by Hygraph and external metadata. (Source)

How can I get support or ask questions about the demo?

You can join the Hygraph community on Slack at https://slack.hygraph.com/ to ask questions and get support from other users and Hygraph experts. (Source)

What is the main advantage of using Hygraph for a streaming platform?

Hygraph enables you to connect all your content and data sources in one place, making it easy for editors to craft rich content and for developers to integrate external APIs and video platforms like Mux. (Source)

How does the demo showcase composability?

The demo showcases composability by integrating multiple technologies (Hygraph, Mux, OMDB via 'Federate This', NextJS, Tailwind CSS) and connecting external data sources to a single content model, demonstrating how to build flexible, scalable platforms. (Source)

Who is the author of the HYGRAPHlix demo and what is their role?

The demo was created by Lo Etheridge, Senior Developer Relations Specialist at Hygraph, focusing on developer education around Headless CMS, JS-based frontends, and API technologies. (Source)

How can I stay updated on Hygraph releases and news?

You can sign up for the Hygraph newsletter to receive updates on releases, industry news, and insights. (Source)

Features & Capabilities

What features does Hygraph offer for content management?

Hygraph provides a GraphQL-native architecture, content federation, user-friendly tools for non-technical users, enterprise-grade security and compliance, Smart Edge Cache for performance, localization, asset management, and extensive integration options. (Source)

Does Hygraph support integration with Digital Asset Management (DAM) systems?

Yes, Hygraph integrates with DAM systems such as Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, and Scaleflex Filerobot. (Source)

What APIs does Hygraph provide?

Hygraph offers multiple APIs: Content API (read/write), High Performance Content API (low latency, high throughput), MCP Server API (for AI assistants), Asset Upload API, and Management API. (Source)

How does Hygraph ensure high performance for content delivery?

Hygraph provides high-performance endpoints designed for low latency and high read-throughput. The platform actively measures GraphQL API performance and offers best practices for optimization. (Source)

What technical documentation is available for Hygraph?

Hygraph offers comprehensive documentation covering API references, schema components, references, webhooks, and AI integrations. (Source)

Can developers build custom integrations with Hygraph?

Yes, developers can build custom functionalities using the Hygraph SDK or connect external APIs via REST and GraphQL. There is also a marketplace for pre-built apps. (Source)

What is content federation in Hygraph?

Content federation in Hygraph allows integration of multiple data sources without duplication, ensuring consistent and efficient content delivery across channels. (Source)

How does Hygraph support localization and asset management?

Hygraph provides localization features and advanced asset management, making it suitable for global teams managing content in multiple languages and formats. (Source)

Pricing & Plans

What pricing plans does Hygraph offer?

Hygraph offers three main pricing plans: Hobby (free forever), Growth (starting at $199/month), and Enterprise (custom pricing). Each plan includes different features and support levels. (Source)

What features are included in the Hobby plan?

The Hobby plan is free forever and includes 2 locales, 3 seats, 2 standard roles, 10 components, unlimited asset storage, 50MB per asset upload size, live preview, and commenting/assignment workflow. (Source)

What does the Growth plan cost and include?

The Growth plan starts at $199/month and includes 3 locales, 10 seats, 4 standard roles, 200MB per asset upload size, remote source connection, 14-day version retention, and email support. (Source)

What is included in the Enterprise plan?

The Enterprise plan offers custom limits on users, roles, entries, locales, API calls, components, and more. It includes advanced features like scheduled publishing, dedicated infrastructure, SSO, multitenancy, instant backup recovery, custom workflows, and dedicated support. (Source)

Security & Compliance

What security certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (since August 3, 2022), ISO 27001 certified, and GDPR compliant, ensuring high standards for security and data protection. (Source)

How does Hygraph protect customer data?

Hygraph encrypts data at rest and in transit, provides granular permissions, audit logs, SSO integrations, regular backups, and options for dedicated hosting in multiple regions. (Source)

Use Cases & Benefits

Who can benefit from using Hygraph?

Hygraph is designed for developers, product managers, content creators, marketing professionals, solutions architects, enterprises, agencies, eCommerce platforms, media and publishing companies, technology companies, and global brands. (Source)

What industries are represented in Hygraph's case studies?

Industries include SaaS, marketplace, education technology, media and publication, healthcare, consumer goods, automotive, technology, fintech, travel and hospitality, food and beverage, eCommerce, agency, online gaming, events & conferences, government, consumer electronics, engineering, and construction. (Source)

What business impact can customers expect from using Hygraph?

Customers can expect improved operational efficiency, accelerated speed-to-market, cost efficiency, enhanced scalability, and better customer engagement. Case studies show results like 3x faster time-to-market and 20% increased monetization. (Source)

Can you share specific case studies or success stories?

Yes. For example, Samsung built a scalable API-first application, Komax achieved 3x faster time to market, and AutoWeb saw a 20% increase in monetization. See more at Hygraph's case studies page.

Competition & Differentiation

How does Hygraph compare to traditional CMS platforms?

Hygraph is the first GraphQL-native Headless CMS, offering simplified schema evolution, content federation, and modern integration capabilities, setting it apart from traditional CMS platforms that rely on REST APIs. (Source)

Why choose Hygraph over other headless CMS solutions?

Hygraph stands out for its GraphQL-native architecture, content federation, enterprise-grade features, user-friendly tools, scalability, and proven ROI. It ranked 2nd out of 102 Headless CMSs in the G2 Summer 2025 report. (Source)

Implementation & Support

How long does it take to implement Hygraph?

Implementation time varies, but case studies show projects can launch in as little as 2 months. Hygraph offers a structured onboarding process and extensive resources for a smooth start. (Source)

How easy is it to get started with Hygraph?

Hygraph is designed for easy onboarding with a free API playground, free developer accounts, structured onboarding, training resources, and a supportive community. (Source)

What feedback have customers given about Hygraph's ease of use?

Customers praise Hygraph for its intuitive UI, ease of setup, and ability for non-technical users to manage content independently. Some users note a learning curve for complex use cases. (Source)

Introducing Click to Edit

HYGRAPHlix, a Hygraph movie streaming platform

A composable movie streaming platform demo built with TypeScript using NextJS 14, Tailwind CSS, and Mux.
Lo Etheridge

Written by Lo 

Jan 30, 2024
Hygraphlix- movie streaming platform made with Hygraph, headless CMS

Movie streaming platforms have become a major part of our free time. There are platforms for anime lovers, connoisseurs of the Criterion Collection, and one that contains movies and TV shows from all around the world. What all of these platforms have in common is lots and lots of data and content.

Our Hygraphlix demo takes on the movie streaming platform use case and showcases “The Hygraph Way”. From a single content model, Movie, we are able to create a wide range of content sections including the Top 8 movies on the platform, a landing page that lists all the movies available, and much more!

The HygraphFlix streaming demo showing the 'Top 8 Movies' section, generated from a single content model

Demo site https://hygraph-movie-starter.vercel.app/
GitHub repository https://github.com/lowisren/hygraph-movie-starter
Federate This API https://www.federatethis.com/routes/movies/
Clone Hygraph project https://app.hygraph.com/clone/60a5f60969474157a5bb6cec6452e833?name=Hygraph%20Movie%20Platform%20Starter

#About Hygraphlix movie starter

Hygraphlix is a composable movie streaming platform demo built with Hygraph with TypeScript.

Technologies used:

  • NextJS 14
  • Tailwind CSS
  • Mux
  • Federate This demo API

The demo uses Hygraph to pull movie data and metadata from an external system, a mock API called "Federate This" that we used to wrap OMDB, an open-source movie database. Movie metadata such as director, actor, genre, and poster is piped into Hygraph via a remote source connection, and by adding a remote field called federateMovie to the Movie content model.

movie-contentmodel-hygraph.png

#Sorting movies by genre

No movie streaming platform is complete without the ability to browse by genre! Hygraphlix shows how to create a Genre movie section with one query that combines Hygraph content and OMDB metadata to sort our movie collection.

Let’s take a quick dive into the code to build a movies by genre content section:

//Landing page for movies by genre: app/genres/page.tsx
import MovieCard from "@/components/MovieCard";
import { subtitle, title } from "@/components/primitives";
//Get all Movies
async function getMovies() {
const HYGRAPH_ENDPOINT = process.env.HYGRAPH_ENDPOINT;
if (!HYGRAPH_ENDPOINT) {
throw new Error("HYGRAPH_ENDPOINT is not defined");
}
const response = await fetch(HYGRAPH_ENDPOINT, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
query: `
query Movies {
movies(first: 100) {
federateMovie {
data {
Title
Poster
Genre
Director
}
}
id
slug
moviePoster {
height
width
url
}
}
}`,
}),
});
const json = await response.json();
return json.data.movies;
}
// Declare Movie interface
interface Movie {
federateMovie: {
data: {
Genre: string;
Title: string;
Poster: string;
Director: string;
};
};
id: string;
slug: string;
moviePoster: {
height: number;
width: number;
url: string;
};
}

We are using the asynchronous function getMovies() to query all movies in Hygraph and their respective metadata such as Poster, Genre, and Director from OMDB using via the federateMovie remote field and then return the list of movies in JSON.

//Landing page for movies by genre: app/genres/page.tsx
export default async function Movies() {
const movies: Movie[] = await getMovies();
const genres = [
...new Set(movies.map((movie: Movie) => movie.federateMovie.data.Genre.split(",")[0])),
];
return (
// Markup for filtered movies by genre goes HERE
);
}

After we fetched our data from Hygraph, we return a Promise that resolves to an array of Movie objects. We use the await keyword to pause the execution of the Movies function until the Promise resolves. In order to render the movies by Genre, we make constant called genres to store an array of each unique genre by iterating over the movies array and extract the genre of each movie. Since a movie can be a member of more than one genre, we use the Set object, and then convert it back to an array using the spread (...) operator.

//Landing page for movies by genre: app/genres/page.tsx
return (
<section className="flex flex-col justify-between mb-32 text-center">
<h1 className={title({size: "xl"})}>
Movies by Genres
</h1>
{genres.map((genre) => (
<div className="text-left" key={genre}>
<h2 className={`${subtitle()} text-lg font-bold my-8`}>{genre}</h2>
<div className="grid px-5 lg:gap-xl-12 gap-x-6 md:grid-cols-2 lg:grid-cols-4">
{movies
// filter movies by genre and use the first genre in the list to group movie cards
.filter((movie) => movie.federateMovie.data.Genre.split(',')[0] === genre)
.map((movie) => (
<MovieCard
key={movie.id}
Title={movie.federateMovie.data.Title}
Poster={movie.federateMovie.data.Poster}
moviePoster={movie.moviePoster}
alt={movie.federateMovie.data.Title}
Genre={movie.federateMovie.data.Genre}
Director={movie.federateMovie.data.Director}
slug={movie.slug}
/>
))}
</div>
</div>
))}
</section>
);

Last, we create the markup to render our movies by mapping over our genres constant to create a section for each genre in our return statement. Inside each section, we filter the movies array to only include movies that belong to the current genre and display every movie in a MovieCard component.

The HygraphFlix streaming demo showing the 'Top 8 Movies' section, generated from a single content model

#Individual movie pages using Mux

With just a single content model and remote source data, Hygraphlix also showcases individual movie pages that contain the Mux video player and metadata from OMDB for each movie.

Screenshot of the Hygraph movie platform demo, 'HygraphFlix', showing the 'Blade Runner' movie detail page

Each movie pages contains the Plot, Actors Director, Genre, Rating, Runtime, and Release Year. Hygraph uses Mux for video delivery and features a Mux player component that allows you to change the controls to fit your brand.

//Mux player component - components/MuxPlayer.tsx
"use client";
import React from 'react';
import MuxPlayer from '@mux/mux-player-react';
interface MuxPlayerProps {
playbackId: string;
}
const MuxPlayerComponent: React.FC<MuxPlayerProps> = ({ playbackId }) => {
return (
<MuxPlayer
playbackId={playbackId}
accent-color="#5b4cff"
/>
);
};
export default MuxPlayerComponent;

Follow the below steps to get the most out of Hygraphlix by connecting Mux to your Hygraph project:

  1. Sign up for a Mux account
  2. Install the Mux app in your Hygraph project
  3. Create access tokens for your Mux account

#Conclusion

The ability to connect all your content and data sources means editors can craft enriching content all in one place. Tryout the Hygraphlix demo and let us know what you think in the community!

Blog Author

Lo Etheridge

Lo Etheridge

Senior Developer Relations

Lo is Hygraph's Senior Developer Relations Specialist. They focus on developer education around Headless CMS, JS-based frontends, and API technologies as well as the dynamic cross-functional relationship between developers and content professionals.

Share with others

Sign up for our newsletter!

Be the first to know about releases and industry news and insights.