Inspiration

Weddings in India gave me the starting point for Wedding Cinema. Couples already have photos they love, but turning those photos into a personal film can feel like a much bigger editing project.

I wanted to make the first step smaller: choose two portraits, choose a scene, and make a little film that feels like it belongs to the two of you. Not a replacement for a wedding filmmaker, and not another social feed. A small creative ritual you can try together.

What it does

Wedding Cinema is an Android app built around a simple journey:

  1. Browse visual film directions and choose a scene.
  2. Select two adult portraits you have permission to use.
  3. Review the creative settings and confirm the generation request.
  4. Follow the job in Films, then play, save, or choose to share the result.

The code includes a two-photo composer, presets and creative controls, job progress, a film library, and explicit consent before portrait submission. The storage and sharing flow is designed around private films and an intentional sharing action.

Synthetic sample films are labeled as examples. They are not presented as proof that a new customer's photos have completed generation.

Why RevenueCat belongs in the product

Video generation has a real cost, so paid access needs to be understandable and reliable. RevenueCat's React Native SDK is integrated into the new Android candidate's subscription checkout.

The integration is designed to purchase the exact Google Play base plan and promotional offer shown on screen, including the genuine introductory and renewal prices. The existing backend remains responsible for verifying Play receipts and granting film credits without duplicate grants. An interrupted checkout can be checked again without immediately telling someone to pay twice.

The goal is a checkout that earns trust: clear prices, recoverable interruptions and verified film credits.

How it is built

The app uses React Native, Expo and TypeScript. Clerk provides authentication. A Node.js API coordinates film jobs, PostgreSQL stores application records, and private S3 storage holds media. Provider credentials stay on the server rather than being placed in the mobile app.

Codex helped implement and review the app flows, integrate the purchase contract, write focused billing and recovery tests, and prepare the native Android candidate. I chose the product direction and iterated on the presets, pacing and presentation.

Challenges and lessons

The hardest billing detail was keeping the paywall, RevenueCat identity and existing Play verification flow consistent. A successful payment UI is not enough: the correct account must receive the correct credits, once.

The same lesson applies to filmmaking. A beautiful sample, a compiled bundle and a completed customer film are different pieces of evidence. The page keeps those distinctions visible.

Progress and current limits

The RevenueCat-enabled Android candidate has compiled locally. The latest focused RevenueCat test run passed 10 of 10 tests, covering offer presentation, purchase identity, interrupted-checkout recovery and duplicate-token handling.

A completed on-device RevenueCat purchase and a newly generated customer film have not yet been verified in this submission pass. Local contract tests are not being claimed as payment, revenue or end-to-end generation proof.

The public native-device demo, required submission images, sanitized open-source repository and student-email verification are still being prepared. The Next Gen student entry is still in preparation; updating this project page does not complete the contest entry.

What is next

Finish the judge-facing materials: a short Android demonstration, clear setup instructions, the public licensed source export, and the required icon and screenshot. The aim is to show the core journey clearly and let the code explain the remaining work, without inventing traction or revenue.

Built With

Share this project:

Updates