PatrickFanella 68e6b161c1
Authoritative release gates / Secret history gate (push) Successful in 1m42s
Authoritative release gates / Documentation and OpenAPI gate (push) Successful in 1m42s
Authoritative release gates / Browser gate (Chromium, Firefox, WebKit) (push) Successful in 9m0s
Authoritative release gates / Image scan and SBOM gate (push) Successful in 8m21s
Merge pull request 'Friendly missing states, leaderboards, card overflow, profile pages, and small polish' (#30) from fix/page-polish into main
Reviewed-on: #30
2026-09-24 21:47:30 -05:00
2026-06-07 00:09:42 -05:00
2026-06-07 00:09:42 -05:00
2025-12-15 17:15:01 -06:00
2026-02-06 15:08:36 -06:00
2026-09-21 10:23:46 -05:00
2026-06-07 00:09:42 -05:00

CLPR

A deployed, full-stack Twitch clip curation platform built to make discovery, community context, and moderation usable in one place.

CI status License: MIT

Live product: clpr.tv · API contract: OpenAPI · License: MIT

1.0 scope: CLPR ships a responsive web client and Go API. Native mobile clients are design/planning work only; there is no buildable mobile/ workspace in this tree. Stream clip extraction, CDN mirroring, live feed, and watch parties remain disabled while their production acceptance gates are completed. See the launch feature contract.

What it demonstrates

  • Built a Go and PostgreSQL application around Twitch OAuth, ingestion, clip submission, playlists, and community interaction.
  • Designed hybrid BM25 and semantic search, with queue-backed background work and graceful search fallbacks.
  • Shipped moderation and audit controls, media ownership handling, operational runbooks, and a React web client.
  • Provides automated migration drills, documentation checks, release convergence, and a production deployment path.

Architecture

Area Implementation
Product UI React, TypeScript, Vite, Tailwind
API and jobs Go, Gin, Redis-backed workers
Data and search PostgreSQL/pgvector, OpenSearch
Integrations Twitch OAuth/API, webhooks, object storage
Operations Docker Compose, Kubernetes manifests, Prometheus/Grafana runbooks

Run it locally

Backend prerequisites and local setup are documented in the backend README. Start by creating the service-specific development configuration files:

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env

The root Compose file is an operator deployment path and expects deployment-managed networks and secrets. Use the disposable validation stack below for repository-owned local services.

Verification

The release-supported clean-clone path uses disposable test services and does not require production credentials. Install Task and golang-migrate, then run:

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
task test:setup
bash scripts/run-release-critical-backend-tests.sh
npm --prefix frontend ci
npm --prefix frontend run test:coverage
npm --prefix frontend run build
task test:teardown

Operational backup validation and restore drills require protected provider credentials. Their scheduled public workflows report a safe skip unless the explicit BACKUP_VALIDATION_ENABLED or RESTORE_DRILL_ENABLED secret is set to true; this prevents a missing credential from being misrepresented as a product regression.

Further reading

License

CLPR is released under the MIT License.

https://www2.onnwee.me

S
Description
Deployed Twitch clip curation platform with Go, React, PostgreSQL, hybrid search, moderation, and production operations.
https://clpr.tv Readme MIT
186 MiB
CLPR 1.0.1
Latest
2026-09-09 00:05:48 -05:00
Languages
Go 57.8%
TypeScript 35.1%
PLpgSQL 2.7%
Shell 2.5%
JavaScript 1%
Other 0.8%