746a4e42026-07-27feat(mobile): fix scroll (flex ScrollView reveals full cast + all 114 episodes) + direct per-episode TVmaze link on each card
96bb1e72026-07-27docs(mobile): EAS ad-hoc build recipe — press 'a' to select all devices, avoid nameless-iPhone skip + integrity error
ebc361f2026-07-27chore: quality gate — log+500 on api/cast+news error paths, mobile v0.2.0 + web v0.3.0 (session close)
fd94bbd2026-07-27fix(monorepo): keep isolated nodeLinker (web React 19 intact), add @babel/runtime as explicit mobile dep for Metro resolution
e8b0cf62026-07-27feat: mobile bottom-tab nav (Episodes/Cast/News/Saved) + /api/cast + /api/news endpoints
877569a2026-07-27chore(mobile): add preview-sim profile (iOS simulator build, no signing) for local Simulator run
904b3552026-07-27fix(mobile): pnpm 11 honors nodeLinker in pnpm-workspace.yaml, not .npmrc — move hoisted there so EAS cloud Bundle JavaScript resolves @babel/runtime
50992ce2026-07-27fix(db): news_items schema drift — add source_query + unique(canonical_url), drop NOT NULL on summary_original (index-first, summarize-on-review)
b3f641d2026-07-26chore: version-up to v0.2.0 (session close) — code tsc/CTA/5x-verified, no eslint toolchain to autofix
c766b0c2026-07-26loop refine 4/n: character detail pages (/characters + /characters/[slug]) — profile, actor link, guest-cast appearances + series-regular fallback; nav + sitemap; ISR
78a8f842026-07-26loop refine 3/n: ISR (hourly revalidate) on stable pages (home/show/cast/cast-detail/episode-detail) — cached HTML ~77ms, less DB load; dynamic pages (news/episodes/search) unchanged
4c1a88b2026-07-26loop refine 2/n: sort (season asc/desc) + comfortable/compact density on /episodes (recap show/hide, localStorage)
3c1fd3a2026-07-26loop refine 1/n: sort (newest/oldest/source) + persisted density control on /news grid (Steve standing rule)
59829db2026-07-26richer episodes: per-episode guest/recurring cast (1160 credits from TVmaze) on detail pages + per-season JustWatch watch links; episode_guest_cast table (app-user owned, no gated DDL)
e2003292026-07-26comprehensive pass: /show season overviews + 14 character profiles + hamburger mobile nav + bigger hero + full search (news/pages/games) + per-episode Reddit discuss links
0158b8e2026-07-26go-all: approve S2-S5 recaps (all 114 reviewed) + More-from-Season links on detail + /show series hub (JSON-LD, season breakdown, cast, where-to-watch) + real legal email info@agentabrams.com
c2dadda2026-07-26where to watch: JustWatch live-availability links on home + episode detail (verified 200, honest — tracks current streaming vs stale platform claims)
259dc222026-07-26recaps: approve S1 (reviewed) + punch up 9 vaguest S2-S5 recaps (incl. S3E17 factual fix: Dixon/Navid+Snoop, not Naomi); applied to live Kamatera DB
79880442026-07-26cast: show info only (name/character/bio), drop headshot photos (unflattering non-star candids) from list + detail; rights-ledger data kept for re-enable
396861c2026-07-25gitignore CTA test artifacts (cross-browser test passed: liquid-glass + ombre clean in Chrome + WebKit)
3b392c32026-07-252026 graphics: Photoshop-baked grainy ombre hero (413KB jpg) + liquid-glass (backdrop-filter) header & frosted stat chips on web; mobile ombre LinearGradient header/bg + BlurView glass cards
7a343d72026-07-25episode detail: prev/next adjacent-episode nav (row-comparison, crosses season boundaries) — deeper internal linking + crawl depth for SEO
99ec1b52026-07-25design-consistency pass: interior pages (episodes/cast/search + episode & cast detail) refactored onto the design system (CSS vars, cards, .se, display font) — whole app now cohesively luxe
592af522026-07-25games: integrate Steve's 6 original self-contained 90210 games (trivia, backgammon, rodeo-runner, slots, blackjack, roulette) — hosted in public/games, styled /games catalog, header+home nav, sitemap
7fd16eb2026-07-25deploy prep: db/setup-prod.sh one-shot prod populator, db/review.mjs content-review CLI, DEPLOY.md runbook (Vercel+Neon / EAS TestFlight / human review)
c7a00532026-07-25mobile forward: easter eggs — tap UNOFFICIAL badge 5x for hidden 90210 card, long-press title for ZIP-code fun fact
8fd5a562026-07-25beverly hills photos: 8 free-licensed CC/PD city photos (Rodeo Drive, the sign) into rights-ledger; home 'Beverly Hills backdrop' strip w/ attribution
73371b32026-07-25cast photos: 12/14 headshots from Wikimedia (per-file license-verified PD/CC-BY/CC-BY-SA only) into rights-ledger w/ attribution; wired into /cast + detail; throttled+idempotent ingester
8dc29d72026-07-25news: index 760 90210 articles (Google News RSS, original+reboot) as headline+source+date+link-out only (no bodies); paginated /news, noopener outbound
e86cb342026-07-25professional redesign: original luxe design system (globals.css), Playfair+Inter fonts, animated SVG dusk hero + art-deco brand mark, sticky header/nav, stat+nav cards, dynamic OG image, favicon
2a1d19a2026-07-25internal search: /search (SSR) across episode titles+recaps and cast names+characters+bios, links to detail pages; header nav
d2ccd5a2026-07-25spoiler guard: progress-based recap hiding on web (SpoilerGuard, localStorage+event, no Context to dodge @types/react skew) + mobile (watched-through + reveal, AsyncStorage)
5d109ee2026-07-25contrarian fixes: add recap_status/bio_status to canonical schema.sql (was ALTER-only drift), correct Jessica Stroup bio, add NEXT_PUBLIC_SITE_URL to deploy gate
e3f69d62026-07-25SEO layer: crawlable per-episode + per-cast detail pages w/ JSON-LD (TVEpisode/Person/TVSeries), sitemap.xml (135 urls), robots.txt, per-page metadata; list pages link into details
9cde2872026-07-25cast bios: 14 original ai-draft bios + person->character main-cast links; /cast shows role + bio
2a7ccb02026-07-25recaps: complete Season 5 (22 original spoiler-safe drafts) — all 114 episodes now drafted
896da572026-07-25recaps: complete Season 4 (24 original spoiler-safe drafts)
d9e51372026-07-25recaps: complete Season 3 (22 original spoiler-safe drafts; sensitive storyline handled with care)
2cc6c112026-07-25recaps: complete Season 2 (22 original spoiler-safe drafts)
c7d73bc2026-07-25recaps: complete Season 1 (24 original spoiler-safe drafts) via scalable db/recaps/sN.json + apply-recaps.mjs; add recap_status ai-draft review gate
c260ce82026-07-25write 6 original spoiler-safe S1 recaps (our wording, grounded in factual events; AI-drafted, review before publish)
fc018152026-07-25ingest factual cast + character names (TVmaze, names-only, no photos/bios) — populates /cast
1b02ed52026-07-25contrarian fixes: correct Expo API-base wiring (expo-constants + EXPO_PUBLIC), add AsyncStorage watchlist + spoiler tag (native value for Apple 4.2), parameterize legal emails
3c611042026-07-25iteration 1: Turborepo scaffold + working Next.js web MVP (SSR home, DB health, legal routes) + shared @nineoh/core zod contracts
ade979f2026-07-25add rights-first Postgres schema + original legal pages (disclaimer/DMCA/privacy)
ac845072026-07-25initial scaffold: build brief + gitignore for Unofficial 90210 Guide
Authors
Steve61
Agents used
secrets-manager1
Skills used
/web11
/cast10
/app6
/episodes5
/news3
/show3
/search3
/games3
/runtime2
/characters2
/recaps2
/submit1
/route1
/guest1
/mobile1
/metro1
/skills-lock1
/cast-detail1
/episode-detail1
/desc1
/compact1
/hide1
/oldest1
/source1
/recurring1
/pages1
/layout1
/sitemap1
/community1
/character1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
3b23bfc · 2026-07-28 · TK-12: turnkey finish-tk12.sh — one command post-ASC-key drives build, holds at TestFlight submit
Driver takes 3 args (.p8, Key ID, Issuer ID) and: routes key via secrets-manager
(last-4 only, never echoed), wires eas.json submit.production.ios with
ascApiKeyPath/ascApiKeyId/ascApiKeyIssuerId + clears SET-AT-SUBMIT sentinel +
asserts build.production.distribution=store, runs eas build -p ios --profile
production --non-interactive, then PRINTS (not runs) the eas submit command and
STOPS for Steve's final TestFlight go. Idempotent, bash -n clean, .p8 gitignored.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Config-only + docs. Production build/submit gated → approval memo in yolo-queue.
RN 0.76.5 kept (known-good); 0.76.9 alignment recommended as a validated pre-build step.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e26dca5 · 2026-07-27 · feat: per-episode cast on every episode + recurring/guest stars in Cast tab
- seed episode_guest_cast from TVmaze (1160 rows, all 114 eps) + 78 recurring cast_people
- /api/episodes returns each episode's cast (regulars + that episode's guests)
- /api/cast includes recurring members with a kind flag; EpisodeSchema gains cast[]
- mobile: star line on each episode card + Main/Recurring grouping in Cast tab
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
File tree
97 files tracked. Click any to browse the source at HEAD.