> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Awesome Livepeer

> Community-curated list of projects, tutorials, tools, and resources built on the Livepeer network.

export const CenteredContainer = ({children, maxWidth = "800px", padding = "0", preset = "default", width = "", minWidth = "", marginRight = "", marginBottom = "", textAlign = "", style = {}, className = "", ...rest}) => {
  const presets = {
    default: {},
    fitContent: {
      width: "fit-content",
      minWidth: "fit-content"
    },
    readable70: {
      width: "70%",
      minWidth: "fit-content"
    },
    readable80: {
      width: "80%",
      minWidth: "fit-content"
    },
    readable90: {
      width: "90%"
    },
    wide900: {
      maxWidth: "900px"
    }
  };
  const presetStyle = presets[preset] || presets.default;
  return <div className={className} style={{
    maxWidth: presetStyle.maxWidth || maxWidth,
    margin: "0 auto",
    padding: padding,
    ...presetStyle.width ? {
      width: presetStyle.width
    } : {},
    ...presetStyle.minWidth ? {
      minWidth: presetStyle.minWidth
    } : {},
    ...width ? {
      width
    } : {},
    ...minWidth ? {
      minWidth
    } : {},
    ...marginRight ? {
      marginRight
    } : {},
    ...marginBottom ? {
      marginBottom
    } : {},
    ...textAlign ? {
      textAlign
    } : {},
    ...style
  }} {...rest}>
      {children}
    </div>;
};

export const CustomDivider = ({color = "var(--lp-color-border-default)", middleText = "", spacing = "default", style = {}, className = "", ...rest}) => {
  const spacingPresets = {
    default: {
      margin: "24px 0"
    },
    overlap: {
      margin: "-1rem 0 -1rem 0"
    },
    tight: {
      margin: "0 0 -1rem 0"
    },
    section: {
      margin: "0 0 -2rem 0"
    },
    sectionOverlap: {
      margin: "-1rem 0 -2rem 0"
    },
    deepOverlap: {
      margin: "-1rem 0 -1.5rem 0"
    }
  };
  const spacingStyle = spacingPresets[spacing] || spacingPresets.default;
  return <div role="separator" aria-orientation="horizontal" className={className} style={{
    display: "flex",
    alignItems: "center",
    ...spacingStyle,
    fontSize: style?.fontSize || "16px",
    height: "fit-content",
    ...style
  }} {...rest}>
      <span style={{
    marginRight: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
      </span>
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      {middleText && <>
          <Icon icon="circle" size={2} />
          <span style={{
    margin: "0 8px",
    fontWeight: "bold",
    color: color,
    opacity: 0.7
  }}>
            {middleText}
          </span>
          <Icon icon="circle" size={2} />
        </>}
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      <span style={{
    marginLeft: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <span style={{
    display: "inline-block",
    transform: "scaleX(-1)"
  }}>
          <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
        </span>
      </span>
    </div>;
};

<CenteredContainer preset="readable90">
  <Tip>Awesome Livepeer is community-maintained. To add a project, open a PR on github.com/Livepeer/awesome-Livepeer.</Tip>
</CenteredContainer>

<CustomDivider />

The `livepeer/awesome-livepeer` repository (`github.com/livepeer/awesome-livepeer`) is a community-curated list of projects, tutorials, tools, dashboards, and resources built on or for the Livepeer Network. It is accessible at `livepeer.cool`.

<CustomDivider />

## Contents

The list is organised by category. Highlights include:

**Applications and Infrastructure**

* Livepeer Explorer: Protocol explorer at explorer.livepeer.org
* Livepeer Catalyst: Infinitely scalable open-source media server for streaming onto the Livepeer Network

**SDKs and Libraries**

* livepeer.js: JavaScript library for video and Livepeer API integration

**Monitoring and Analytics**

* Livepeer Income Reports: Python scripts for Orchestrators and Delegators to calculate earnings and generate tax reports
* Stream Tester: Assess Orchestrator performance and streaming capabilities
* AI Inference Tester: Obtain AI inference statistics for your Orchestrator
* Livepeer Arbitrum Dune Dashboard: On-chain protocol state
* Orchestrator Pricing Visibility: Price per pixel history per Orchestrator

**Infrastructure Tools**

* Community Arbitrum RPC: Community-maintained RPC endpoint for the Arbitrum network (LiveInfra SPE)
* Docker Portainer guide: Node operator efficiency tooling
* Livepeer Reward Watcher: Telegram bot alerting on missed reward calls

**Tutorials**

* Building a Full Stack Web3 YouTube Clone with Next, IPFS, The Graph, Solidity, and Livepeer
* Building a Full Stack Web3 TikTok Clone with React Native, Livepeer, and Lens Protocol
* Upload and Stream Videos off of Arweave with Livepeer

**No-Code**

* Bubble Plugin: Community-supported no-code tool for adding video to apps via Livepeer

<CustomDivider />

## Adding to the List

To add a project, open a pull request to `github.com/livepeer/awesome-livepeer`. The list accepts projects that are actively maintained and genuinely useful to the Livepeer developer community.
