-
-
Home page premiere
-
Sign-up verification
-
E-Cinema AI booking
-
Checkout with PayPal
-
PayPal approval and payment success
-
Seat
-
Watch room with translated world chat
-
Release calendar (Bryntum)
-
Studio payouts (PayPal Payouts)
-
Studio portal with AI dubbing review
-
1. "PayPal and agents" executive dashboard with the AG Grid revenue-by-film grid
Inspiration
In Lagos, a new film can be the talk of the city on Friday and still be months away for a fan in Accra, London or Houston. For most of the world, new releases arrive late, in the wrong language, priced in a foreign currency, or never. Piracy fills that gap, and the studios who made the film lose the night that matters most: the premiere.
We asked a simple question. What if a premiere happened once, at the same moment, for everyone on Earth, each viewer hearing the film in their own language and paying in their own currency? That is E-Cinema.
What it does
E-Cinema is a live, worldwide cinema for new releases. Every film premieres once, at one time, for the whole world, then returns as a weekly encore.
For viewers
- Fair seats, real people. Sign-up checks email, phone and a 5-second face match (Sumsub liveness), and adds a passkey. One person holds one seat, and an account plays on at most two devices, so bots can't buy up premieres.
- Find and book. Browse premieres by format (movies, anime, K-drama, Nollywood, Bollywood, documentaries), see a countdown, and pay in your own currency.
- E-Cinema AI, an agent that books for you. Type "two seats for a Nollywood thriller on Sunday, under $15". The agent finds the showtimes, holds the seats for 10 minutes, builds the PayPal order and hands it to you to approve. It never pays without you. It stays under a $25 spending limit unless you say otherwise, it can give seats back, it adds the screening to your calendar, and it can "shop the film".
- The watch room. Everyone's player is synced to the second. World chat is translated into each viewer's language, with live reactions, polls, watch parties and a 2D or VR cinema (WebXR). Late arrivals get an AI catch-up of what they missed.
- Your language. AI dubs in 29 languages and AI subtitles for every film.
- Around the film: gifts, family and kids profiles, a merch shop, community reviews and weekly encores.
For studios
- A self-serve portal: verify rights, upload the film, set premiere dates and per-country prices (with AI price suggestions), and approve AI dubs line by line.
- A live control room on premiere night with the audience size, a world heat map and an AI reading of the audience's mood.
- Piracy protection: every stream carries a viewer code, so a leaked copy traces back to the account. The AI drafts the takedown notice.
- Studios keep 70% of every ticket, paid out automatically through PayPal Payouts.
For the company: executive dashboards for money, PayPal disputes, uptime, safety and growth, plus switches to turn each payment method on or off.
How we use PayPal
| PayPal product | What it does in E-Cinema |
|---|---|
| JavaScript SDK v6 + Orders API v2 | Every ticket, gift, pre-order, 18+ unlock, merch order and agent booking. The server sets the price from its own catalogue, creates the order and captures it. The browser never decides the amount. |
PayPal Server SDK (@paypal/paypal-server-sdk) |
All REST calls (orders, captures, refunds) go through PayPal's official TypeScript SDK. |
| Pay Later | Offered on pre-orders and bigger baskets where PayPal supports it. |
| Subscriptions | Pro, VIP, Student and Family plans, with billing plans per currency and monthly or yearly cycles. |
| Refunds | Cancelling a seat refunds the capture. The hold id is the request id, so a double click refunds only once. |
| Webhooks (signature verified) | PAYMENT.CAPTURE.COMPLETED / REFUNDED, CUSTOMER.DISPUTE.* and BILLING.SUBSCRIPTION.* keep seats, plans and the disputes dashboard in step with PayPal. |
| Payouts | After each premiere, a background workflow pays each studio its 70% share. It is idempotent per showing, so a studio is never paid twice. |
| Disputes | Open disputes and their deadlines appear in the executive payments dashboard. |
In Nigeria, viewers can also pay in naira with Paystack or Flutterwave. Everywhere else, PayPal is the checkout.
How we use AI
- Claude (Anthropic), Opus 5.5: the E-Cinema AI booking agent. It uses tool calls (
list_showtimes,create_ticket_order,release_hold,add_to_calendar,shop_the_film,my_tickets). The PayPal order is the approval step between the agent and the money. - Claude, Sonnet 5.5: dub scripts and subtitles, world-chat and message translation, catch-up summaries for late arrivals, the audience-mood reading in the studio control room, AI price suggestions, Studio AI (answers a studio's questions from its own numbers), takedown notice drafts, student ID and rights document reading, and executive daily briefs.
- ElevenLabs
eleven_multilingual_v2: the voices for AI dubbing. - Sumsub: face liveness and ID checks.
How we built it
- Design first: every page and email was designed in Figma before it was coded, with web, Android, studio, licensee and executive views.
- Web: Next.js 16 and React 19 (TypeScript). API: Go, with WebSockets for the synced player and chat. Database: PostgreSQL.
- Hosting: Render (web service, API service, managed Postgres, cron job) in Frankfurt. Render Workflows run the long jobs: AI dubbing, subtitle translation and studio payouts.
- Media: Cloudflare R2. DNS and security: Cloudflare. Email: Resend.
- Sponsor tools: APIMatic, AG Grid, Bryntum, Channel3 and Render. Each is described below.
- Proof on every push: a GitHub Actions job builds the app, creates a real PayPal sandbox order, then asks the AI agent to book two seats and checks that it returns a PayPal order.
Sponsor tools
- APIMatic: we installed the APIMatic PayPal context plugin (TypeScript guides for client setup, auth, calling endpoints, errors, models and testing). We wrote all our PayPal code against it, using the APIMatic-generated PayPal Server SDK.
- AG Grid (Enterprise): the "PayPal and agents" executive dashboard, a revenue-by-film grid with PayPal revenue, refund rate, disputes and each studio's 70% payout, filterable by film and studio.
- Bryntum Calendar: the public release calendar (week, month and agenda views with genre filters) and the week view on the signed-in home page.
- Channel3: "Shop the film". Inside the watch room and through the AI agent, viewers find real products inspired by the film they are watching.
- Render: the whole platform runs on Render, with Render Workflows (TypeScript SDK) for dubbing, translation and PayPal payouts.
Challenges we ran into
- Letting an AI agent touch money safely. We settled on hold, cap, approve: the agent can hold seats and draft a PayPal order, but only the viewer's PayPal approval captures it.
- One person, one seat without making sign-up painful. Face match plus passkey plus a two-device limit took several tries to get right.
- Keeping a worldwide audience in sync while each viewer hears a different language track.
- Paying studios exactly once. Payouts retry on failure, so every payout is keyed to its showing.
- Local payments. Nigerian cards often fail on foreign checkouts, so naira payments run through local providers next to PayPal.
Accomplishments that we're proud of
- It is live at e-cinema.net as a registered company (Online Cinema Ltd, trading as E-Cinema), not a mock-up.
- 137 pages and 94 API routes, every one designed in Figma first.
- A real agentic-commerce loop: natural language in, seats held, a PayPal order out, a human approval, and a captured payment.
- Studios get paid automatically, by PayPal Payouts or local bank transfer, within an hour of the credits rolling.
What we learned
- PayPal's order model (create, then approve, then capture) is a natural safety boundary for AI agents.
- Idempotency keys (
PayPal-Request-Id,sender_batch_id) are what make retries safe in payments. - Typed SDKs and API context for coding agents (APIMatic) cut integration mistakes sharply.
What's next for E-Cinema
- PayPal Vault for the agent. Viewers save PayPal once, then E-Cinema AI completes small bookings under their own spending cap, with a receipt and one-tap undo.
- PayPal Agent Toolkit and the PayPal MCP server for our internal agents: a finance agent that reconciles payouts, answers disputes with evidence and flags refund patterns.
- PayPal Invoicing for merch licensees and group or corporate bookings, and PayPal Donations for the charity stage of the 18+ unlock.
- Going live: switch from sandbox to live PayPal after a full review, then open the first licensed premieres with partner studios.
- The Android app (already designed), voice-cloned dubs with lip-sync, and more local payment methods (crypto, bank transfer).
- Scale: regional media edges so a premiere can hold hundreds of thousands of viewers at once.
Built With
- ag-grid
- anthropic
- apimatic
- bryntum
- channel3
- claude
- cloudflare-r2
- elevenlabs
- figma
- go
- next.js
- paypal
- paypal-checkout
- paypal-orders-api
- paypal-payouts
- paypal-subscriptions
- paypal-webhooks
- postgresql
- react
- render
- render-workflows
- sumsub
- three.js
- typescript
- websockets