02 / Flagship case study
Full-stack engineering · Frontend / product UI · Backend / APIs
Frame Signal
Decision-first movie guidance with explicit spoiler boundaries and protected editorial workflows.

- Type
- Full-stack engineering · Frontend / product UI · Backend / APIs
- Status
- Live project
- Core stack
- Next.js / React / TypeScript / Supabase / PostgreSQL
- Repository
- Public repository
Project overview
FrameSignal is a spoiler-safe movie guidance product organized around a decision layer before deeper editorial reading. Its public experience is backed by protected content-management workflows and database authorization.
01
Decision architecture before deep reading
The content model surfaces practical signals first, then lets a visitor choose whether to continue into spoiler-sensitive explanation.
- Signal Card
- A compact decision surface for the final verdict, score, mood, runtime feel, family-safety context, and spoiler risk.
- Explicit spoiler boundaries
- Reviews, ending explanations, and theories are separated so deeper analysis is an intentional choice rather than an accidental reveal.
- Discovery tools
- Mood-led discovery, movie profiles, a Watch Signal Generator, and legal viewing guidance extend the decision system beyond article browsing.
02
Public product and protected editorial system
FrameSignal separates public reading surfaces from authenticated administration while using Supabase and PostgreSQL for content, identity, and row-level authorization.
Server-rendered reviews, movie pages, guides, theories, and discovery tools
Published-content reads with documented local fallback content
Content schema, authentication, migrations, and Row Level Security
Authenticated editorial create, edit, review, and settings workflows
Verified public application deployment
System relationships
- Public routes read published content through server-side helpers and fall back to local content where documented.
- Protected administration is separated from the public layout and checked through authentication, route protection, and database policies.
- The deployed Next.js application connects the public and administrative surfaces to the Supabase-backed content system.
03
Content boundaries are also system boundaries
Public content is primarily server-rendered, while protected administration is isolated in a separate route group and layout.
Row Level Security participates in the authorization model rather than relying only on interface-level access checks.
Public content helpers filter to published material, and robots and sitemap behavior keep administration routes outside the public discovery surface.
Media records retain structured metadata and credit context so interface presentation can preserve source information.
04
The public promise
The homepage establishes the same order used by the product model: verdict first, visible spoiler boundaries, and deeper reading by choice.

05
Technical stack in the repository
- Next.js
- React
- TypeScript
- Supabase
- PostgreSQL
- Supabase Auth
- Row Level Security
- Supabase Storage
- Vercel