Krizaka product · open source

OrochiaThe video platform for independent creators.

4K streaming, paywalls, tips and creator payouts — with the rigour of financial infrastructure: access decided on the server, payments confirmed by the gateway, a double-entry ledger. Designed for adult (18+) content, Apache-2.0 licensed.

Watch the demo Open the app Documentation krizaka/orochia

Software for platform operators; adult content is restricted to adults.

18+ age gate, creator feed, creator profile — recorded on the latest Orochia build.

What makes it production-ready

Six guarantees, enforced in code.

Direct-to-CDN video

Creators upload straight to Bunny Stream (resumable Tus). Playback uses signed HLS URLs that expire after 5 minutes: video never goes through the application servers.

Server-side access control

Every play is authorised on the server against the video's own rule — public, approved followers, contacts, paid unlock (never below the creator's minimum) or invited only. No raw media URL is ever exposed.

Audiences the creator chooses

Invite people one by one or open a video to reusable, private lists — add someone and they're in, remove them and they're out. Invited-only videos are never listed. Collections get the same permissions.

Engagement that means something

Views counted once per viewer and day, never the creator's own; likes, threaded comments the creator can moderate or close, and shares — each counter moves with the record that justifies it.

Gateway-confirmed payments

An unlock records a payment intent, then redirects to CCBill, Segpay, NowPayments or Stripe. Access is granted only on the provider's signed webhook — exactly once, even if the webhook is replayed.

Built-in 18+ compliance

18+ certification at sign-up, 18 U.S.C. § 2257 record checks before any upload, and content reports (suspected minors, non-consensual content, DMCA) persisted and triaged first.

How it works

Follow a request through the platform.

Three journeys, step by step. Every API endpoint named here is checked against Orochia's code on every build of this site.

No raw video URL ever reaches the client.

ViewerBrowser · HLS playerCreatorStudio · Tus uploadOrochiaNext.js · API · accessGatewayCards · cryptoPostgreSQLLedger · grantsBunny StreamIngest · encoding · CDNViewerBrowser · HLS playerCreatorStudio · Tus uploadOrochiaNext.js · API · accessGatewayCards · cryptoPostgreSQLLedger · grantsBunny StreamIngest · encoding · CDN
01/05Asks to playGET /api/videos/[id]/stream

The player holds no media URL: it asks Orochia for one.

Source code

Three repositories, one platform.

The app exposes 70 API endpoints and 23 tables, extracted from the code by the documentation generator.

krizaka/orochia Consumer platform, creator studio & 4K HLS playerDirect-to-Bunny streaming with short-lived signed URLs, server-side access control, gateway-confirmed unlocks and an idempotent double-entry ledger.Next.js 16 App Router · Drizzle ORM · PostgreSQL 16 · Bunny.net Streamkrizaka/orochia-admin Control plane: 2257 records, moderation & treasuryAdministrative console for performer records, content reports and platform revenue.Next.js 16 App Router · Tailwind CSS · Lucide Iconskrizaka/orochia-design-system Design system & tokens (Obsidian Velvet Noir)Component library and tokens shared by the Orochia applications.React 19 · Tailwind CSS · TypeScript

Tell us what you're building.

Contact us