Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
cf21a2f
feat: add ecosystem page and refine shared UI components
rickstaa Mar 25, 2026
f32c8f7
feat: add Agents category to Embody on ecosystem page
rickstaa Mar 25, 2026
159c9c2
update ecosystem data per strategy lead direction
rickstaa Mar 26, 2026
e342375
fix: align Submit App button with title and improve description text …
rickstaa Mar 26, 2026
a957edd
fix: align Submit App button with title and improve description text …
rickstaa Mar 26, 2026
ccf1536
feat: expand ecosystem with new projects, tags, and category dropdown…
rickstaa Mar 28, 2026
f7fd4b6
refactor: extract reusable FilterPill component from inline CategoryPill
rickstaa Mar 28, 2026
4731e7f
docs: add clarifying comment
rickstaa Mar 29, 2026
7069424
feat: add mobile infinite scroll to ecosystem page
rickstaa Mar 30, 2026
ad33060
feat: adaptive card animations for mobile scroll and desktop batch load
rickstaa Mar 30, 2026
95c3569
fix: cascade initial batch of cards on page load
rickstaa Mar 30, 2026
b802ee5
feat: add link to ecosystem page from BuiltOnLivepeer section
rickstaa Mar 30, 2026
3fb01a3
feat: upgrade ecosystem CTA to secondary button and standardize arrow…
rickstaa Mar 30, 2026
a72367d
feat: add NYTV, Higher, and UFO to ecosystem page
rickstaa Mar 31, 2026
d47b7d4
refactor: change order for improved visual look
rickstaa Mar 31, 2026
d594efb
feat: sync ecosystem filters to URL query params for shareable views
rickstaa Mar 31, 2026
8c51c88
feat: add API tag to Daydream and Blue Claw
rickstaa Mar 31, 2026
484ed35
feat: add Spritz to ecosystem page
rickstaa Apr 1, 2026
c63a578
refactor: replace ecosystem logos with SVGs for better scaling
rickstaa Apr 1, 2026
5e5e9bd
feat: add Preview badge to Ecosystem nav item and neutral Badge variant
rickstaa Apr 1, 2026
d6b961d
chore: align footer nav with header — move Ecosystem under Network
rickstaa Apr 1, 2026
909307a
fix: use correct /v1/ orchestrator docs URL consistently
rickstaa Apr 1, 2026
332ffd2
feat: add logoBg field for ecosystem logos with dark transparent back…
rickstaa Apr 1, 2026
65089c2
chore: remove Preview badge from Ecosystem nav item
rickstaa Apr 1, 2026
402bfcf
fix: resolve merge conflicts from rebase onto v2-copy-updates
rickstaa Apr 2, 2026
f3bb0c3
fix: resolve merge conflicts in Footer and EarlyAccessCTA
rickstaa Apr 2, 2026
08bfd8c
fix: unify button styles to match primary green variant
rickstaa Apr 2, 2026
29ce25d
fix: use rounded-lg for buttons to match base branch styling
rickstaa Apr 2, 2026
50def74
chore: remove unused EarlyAccessCTA component
rickstaa Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions .github/ISSUE_TEMPLATE/ecosystem-submission.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Ecosystem Submission
description: Submit your app to the Livepeer ecosystem directory
title: "Add "
labels: ["ecosystem"]
body:
- type: markdown
attributes:
value: |
## Ecosystem App Submission
Thanks for building on Livepeer! Please fill in the details below so we can review and add your app to the ecosystem directory.

- type: input
id: app-name
attributes:
label: App Name
placeholder: "e.g., My Livepeer App"
validations:
required: true

- type: input
id: website
attributes:
label: Website URL
placeholder: "https://myapp.com"
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: A short description of what your app does and how it uses Livepeer.
placeholder: "Our app uses Livepeer for..."
validations:
required: true

- type: textarea
id: categories
attributes:
label: Categories
description: "Select all that apply: AI Video, Streaming, Developer Tools"
placeholder: "AI Video, Streaming"
validations:
required: true

- type: input
id: contact
attributes:
label: Contact Email
description: We'll only use this to follow up on your submission.
placeholder: "you@example.com"
validations:
required: true

- type: textarea
id: logo
attributes:
label: Logo
description: Please drag and drop your app logo here (SVG or PNG, square, min 128x128px).
placeholder: "Drag and drop your logo image here..."
validations:
required: false

- type: textarea
id: additional
attributes:
label: Anything else?
description: Optional — anything we should know about your app or a category you think is missing.
validations:
required: false
24 changes: 24 additions & 0 deletions .github/workflows/check-ecosystem-urls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Check Ecosystem URLs

on:
# Run on PRs that touch ecosystem data
pull_request:
paths:
- "data/ecosystem.json"
- "public/ecosystem/**"

# Weekly check — Mondays at 9am UTC
schedule:
- cron: "0 9 * * 1"

# Manual trigger
workflow_dispatch:

jobs:
check-urls:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check ecosystem URLs
run: node scripts/check-ecosystem-urls.mjs
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,7 @@ brand_guidelines/
img/
*.pdf
.claude/
.codex
.vscode/
*.code-workspace
.playwright-mcp/
5 changes: 3 additions & 2 deletions app/blog/page.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import Container from "@/components/ui/Container";
import SectionHeader from "@/components/ui/SectionHeader";
import BlogListingClient from "@/components/blog/BlogListingClient";
import PageHero from "@/components/ui/PageHero";
import { getAllPosts, getCategories } from "@/lib/blog";

export default function BlogPage() {
const posts = getAllPosts();
const categories = getCategories();

return (
<section className="pt-24 pb-16 lg:pt-32 lg:pb-24">
<PageHero>
<Container>
<SectionHeader
label="Blog"
Expand All @@ -21,6 +22,6 @@ export default function BlogPage() {
<BlogListingClient posts={posts} categories={categories} />
</div>
</Container>
</section>
</PageHero>
);
}
Loading
Loading