Independent work / Sanjay Kumar
Portfolio index — 2026
Project index
SN: SKV-CC-00204 / 07REV: B

P—004 / Collaborative software

Cineclub

01 / Overview

A collaborative movie selection platform that coordinates movie nominations, ranked voting, and staged reveals through a five-phase room lifecycle.

Contributors
Sanjay Kumar

02 / Tools & technologies

07 tools
  • Prisma
  • PostgreSQL
  • Next.js 16
  • React 19
  • TypeScript
  • Supabase Auth
  • Tailwind CSS

03 / Technical highlights

Design / Implementation
01

Collaborative movie selection

A five-phase room lifecycle guides participants through movie nominations, ranked voting, and staged reveals in a full-stack platform.

02

Consistent concurrent workflows

Serializable database transactions, conflict retries, and idempotent finalization maintain consistent room state across simultaneous submissions.

03

Representative ranked voting

A Borda-count voting engine uses rating-based tiebreakers and selects finalists while preserving every participant's representation, including when participants share nominations.

04

Movie discovery and ratings

TMDB and a custom Letterboxd API supply movie discovery and ratings. Asynchronous jobs use bounded polling, cancellation, timeouts, and response validation.

05

Room access and staged reveals

Server-side membership checks and composite database constraints enforce room-level authorization and relational integrity. Unrevealed movie details are withheld from client responses.

06

Tested domain workflows

Automated tests cover voting edge cases, concurrent operations, authorization failures, and the complete nomination-to-reveal domain workflow.