app·Movie & TV discovery platform

Kynoa

A full-stack social platform for movie and TV enthusiasts — built with Nuxt 4, Supabase, and the TMDB API. Kynoa lets users discover content, rate films, follow friends, and build custom watchlists.
Full-StackWeb AppDevelopment Visit Live Site

Project Overview

Kynoa is a full-stack movie and TV discovery platform — combining a powerful media browser with social features like ratings, custom lists, friend activity, and Letterboxd import.

We designed and built Kynoa to set a new standard for what a modern movie tracking platform can be. The brief was clear: go beyond the tired watchlist-and-stars formula and deliver something genuinely useful — fast discovery, an expressive rating system, and a social layer that actually earns its place in the product.


Project Details

Type

In-House Product

Designed and developed by Topography Digital

Status

Beta Launch

Live and actively developed

Timeline

Ongoing

Iterative development


The Challenge

The TMDB API key must never be exposed to the client. Every request for movies, TV shows, people, and genres had to be routed through secure server-side API routes — requiring a full proxy layer that maps cleanly to the TMDB SDK.


Objectives

Deliver a Best-in-Class Discovery Experience

Give users powerful tools to find movies and TV — by popularity, genre, rating, release date, and trending windows — backed by TMDB's full catalog.

Build an Expressive Rating System

Replace the reductive 5-star model with a 1–100% scale, giving users the granularity to genuinely express how they feel about a film.

Create a Social Layer That Adds Real Value

Let users follow friends, see a live activity feed of what they're watching, and share curated lists — making the platform more than just a personal tracker.

Make Migration From Other Platforms Seamless

Support Letterboxd CSV import so existing film lovers can carry their ratings and watchlists over without starting from scratch.

Ship With Production-Grade Security

Row Level Security, Content Security Policy headers, Cloudflare Turnstile bot protection, and server-side API key handling — engineered in from the start, not bolted on at the end.


The Solution

A full-stack Nuxt 4 application with a serverless API layer proxying TMDB, Supabase handling auth and multi-user data with RLS, and a rich UI built on Nuxt UI — deployed globally on Vercel.

Key Features

Media Discovery

Browse popular, top-rated, trending, and new-release content. Advanced filtering by genre, rating, year, and media type across both movies and TV shows.

Ratings & Favorites

A 1–100% rating scale with per-user history, average tracking, and a favorites system — all persisted in Supabase with full RLS.

Custom Lists

Users can create, manage, and share curated lists of movies and TV shows. Lists support public visibility and are browsable across the platform.

Social & Activity Feed

A follow/follower graph with a live activity feed showing what followed users are rating and favoriting — sorted by recency with pagination.

User Profiles

Public profile pages with username-based routing, avatar uploads via Supabase Storage, bio, and a full view of that user's ratings and lists.

Letterboxd Import

CSV import pipeline that parses Letterboxd exports, matches titles against TMDB, converts ratings, and adds unrated entries to a Watch Later list.

Technical Implementation

TechnologyRole
Nuxt 4Full-stack framework — SSR, routing, server API routes
Nuxt UIComponent library and design system
Tailwind CSSUtility-first styling
TypeScriptType safety across client and server
Supabase (PostgreSQL)Database, auth, storage, and Row Level Security
@nuxtjs/supabaseSupabase module with SSR-compatible session handling
TMDB API (tmdb-ts)Movie and TV data — proxied via server routes
ZodRuntime validation on all API request/response shapes
BunFast runtime and package manager
VercelServerless deployment with global edge distribution

Highlights

A production-ready, multi-user social platform — built with security, performance, and UX treated as first-class concerns from the very first commit.

What We Delivered

100%

Server-Side API Security

Zero TMDB API key exposure — all external API calls proxied through server routes.

6 Core

Feature Areas

Discovery, ratings, lists, social graph, profiles, and import — all fully shipped.

Full RLS

Data Isolation

Row Level Security policies on every user-data table — cross-user data leakage is impossible at the database level.

Cross-Browser

Safari Compatible Auth

Session persistence works reliably across Chrome, Firefox, and Safari — including Safari's stricter ITP cookie handling.


Conclusion

Kynoa is the result of treating a product with the full rigour it deserves — from architecture to UX to security. Every decision, from the TMDB proxy layer to the RLS policies to the Safari auth handling, was made deliberately and with real users in mind.

The result is a platform that's genuinely enjoyable to use: fast, secure, and social in a way that adds real value.

Want us to build your next platform? Let's talk.
YouTube Redesign
A visual refresh of YouTube's interface, exploring modern design patterns and improved visual hierarchy while maintaining the platform's familiar usability.
Impressed by our work?

Let's create your success story

Ready to achieve similar results? Get in touch and let's discuss how we can help transform your business.