✦

每日电影推荐

独立开发•2025 秋季•React · TypeScript · Vite · Tailwind · Framer Motion

产品设计、前端开发、API 集成

访问网站↗

对抗算法疲劳的解药。不给你一百个选择,只给你今天最值得看的那一部。

Netflix 的首页有超过 75 个推荐位,Spotify 每天生成 6 个个性化歌单。算法越精准,选择越多,用户反而越难下决定——这就是「选择悖论」。Daily Film 反其道而行:每天只推荐一部电影,用确定性算法保证全球所有用户看到同一部,把「选什么」的焦虑变成「今天的电影是什么」的期待。

01

每日推荐算法

不依赖后端数据库,不依赖用户行为数据。用日期作为随机种子,从 TMDB 的高分电影库中确定性地选出当日推荐。全球所有用户打开网站,看到的是同一部电影——真正的「大家今天都在看这部」。

技术实现:日期字符串 → 哈希函数 → 电影库索引。算法纯前端运行,零服务端成本。

每日推荐算法
02

电影详情页

Information Dossier 风格的详情页。不做传统的电影介绍页面,而是把每部电影包装成一份「情报档案」——分为基础信息、财务数据、演职人员三个维度,数据来源于 TMDB API 实时拉取。

使用 Stale-While-Revalidate 策略做页面导航,消除传统 SPA 在页面切换时的白屏闪烁。

电影详情页
03

社交分享海报

一键生成高保真分享海报。电影海报 + 评分 + 日期信息自动排版,用 Canvas API 渲染为图片,支持直接保存到相册或分享到社交平台。

Canvas 引擎自动处理图片裁剪、文字排版、渐变遮罩和品牌水印,无需后端图片服务。

社交分享海报
Cross-device showcase

确定性推荐

纯客户端推荐算法,日期做种子,无需后端,零运维成本。

SWR 导航

Stale-While-Revalidate 策略,页面切换零白屏,缓存策略智能过期。

Canvas 海报

客户端图片合成引擎,自动排版渲染,支持一键保存和分享。

TMDB API

实时拉取电影元数据、海报、演职人员信息,本地缓存提升响应速度。

PWA 支持

渐进式 Web App,可安装到主屏幕,支持离线访问缓存内容。

Framer Motion

流畅的页面过渡动画和微交互,提升浏览体验的质感。

做这个项目最大的收获是理解「少即是多」不只是设计理念,是产品决策。砍掉搜索、砍掉收藏夹、砍掉个性化推荐——每一次做减法都比做加法更难,因为你需要对核心体验有足够的信心。

技术上最有意思的部分是确定性推荐算法的设计。大多数推荐系统追求个性化,但 Daily Film 反其道而行:让所有人看到同一部电影,创造一种「共同体验」。这个决策定义了产品的一切——从「今天的电影」到社交分享海报。

如果继续迭代:加入「往期回顾」日历视图,让用户回看错过的推荐;探索「电影日记」功能,记录用户的观影足迹。


//