Saga, Award Caliber

Epic #373 · 2026-10-08 · iPhone · iPhone Duo · Apple TV

Saga, at Apple-award caliber

The bar is the apps Apple gives its Design Awards and App Store Awards to. This page sets that bar from recent winners, measures Saga against it from the code and issues, and lays out the work to close the gap on all three Apple surfaces.

Verdict

Saga's taste is already award-level. Its weak spot is how much of it is built in JavaScript instead of being part of iOS. Winners feel like part of the system; Saga today feels like a beautiful app running on it.

The quality bar to build toward is Interaction, with Visuals and Graphics as the second. Both reward what Saga already has: one signature gesture, a cohesive identity of its own, and poster-driven color. iPhone Duo is the "novel use of Apple technology" that makes it credible, the way Vision Pro carried three of the twelve app winners in 2025 and 2026 (Taobao, NBA, Primary). Inclusivity is the floor that must not fail. Social Impact isn't a fit.

The five things that matter most

  1. Built for the Duo's spread, early and properly (#347). The card on one page and its story on the other, the tab bar in the side band, nothing in the fold, and no lost place when you fold or unfold. No movie or TV discovery app has claimed this.
  2. One signature interaction with no dropped frames. The card turn and throw, the carve haptics and Reduce Motion, holding 120 Hz on device. Finish the first-turn stall (#346) and the layout bugs (#332).
  3. Accessibility that meets Apple's own list, the one judges name: Dynamic Type at the largest sizes, VoiceOver actions on the card, Reduce Transparency, Differentiate Without Color and Bold Text. Today, Dynamic Type is unchecked and Reduce Transparency is unhandled.
  4. Saga outside the app: universal links, notifications for watchlist releases (#289), a widget and a Live Activity, and later Siri, Shortcuts and Spotlight (#61). None of these exist today.
  5. Native chrome where iOS has opinions, Saga's look everywhere else. A tab bar that moves into the Duo's band, sheets that avoid the fold, another try at real Liquid Glass, and peek and context menus on posters. Keep the runes and Font Awesome. Custom identity wins when it feels native.

Apple TV makes three: the same Saga on the big screen. It needs focus polish checked with a real remote, a Top Shelf, and "pick on your phone, it's on the TV". It ships in its own PRs and never changes phone or web (CLAUDE.md § TV).

The bar

What recent winners actually did

Nine recent winners and finalists, chosen for being close to Saga: content, discovery, premium single-purpose apps, plus two standouts. Each entry says what earned it, what's weaker than the hype, and the one thing Saga should copy.

Tide Guide

ADA 2026 · Visuals and Graphics winner · Interaction finalist
Earned
It turns data into its identity: custom animated tide charts, a palette that follows the sky, and Liquid Glass adopted the year Apple asked. It's also part of the system: many widgets, Live Activities that follow the tide or sunset, and Watch and Mac apps. Apple ran a "Liquid Glass showcase" session on it.
Weaker
It's a utility with a paywall around the system features. The widgets and charts are Pro. The award is for craft, not scope.
Copy
Make the poster palette Saga's tide chart: one data-driven visual move, everywhere, including widgets.

Moonlitt

ADA 2026 · Interaction winner
Earned
One gesture, tuned obsessively. A secondhand report from the team says they spent months on how the slider feels, its haptic response and its animation. It also has some of the best Liquid Glass integration around and easy onboarding.
Weaker
The scope is tiny: a moon phase tracker. It shows how much the Interaction jury weighs feel over features.
Copy
Saga already has its slider: the card turn. Tune it on device, frame by frame, until it's the thing people show their friends.

NBA: Live Games & Scores

ADA 2026 · Innovation winner (Vision Pro)
Earned
A content app that did what only Apple's newest hardware can: up to five live games at once, a 3D tabletop court and Apple Immersive.
Weaker
The phone app isn't what won. Innovation in practice means "first great app on Apple's new device", not a new idea inside the genre.
Copy
The Duo is Saga's Vision Pro: be the first great discovery app made for the spread.

Primary: News in Depth

ADA 2026 · Social Impact winner (Vision Pro)
Earned
Editor-curated content laid out spatially, so reading slows down. The layout itself carries the editorial point of view.
Weaker
It won Social Impact on its mission. A discovery app can't borrow that.
Copy
Two pages can be an editorial stance: the moment on the left, the story on the right (#347).

Blippo+

ADA 2026 · Delight and Fun finalist (Panic)
Earned
It's the closest thing to Saga on the list: an entertainment app with an enormous personality, a retro-futurist "TV service" made for channel surfing.
Weaker
It lost to grug, a daily-affirmation app. A strong concept with a thin connection to the platform reaches the finals and stops there.
Copy
Personality gets Saga noticed, but to win it has to be paired with how deeply the app uses the platform.

(Not Boring) Camera

ADA 2026 · Visuals and Graphics finalist
Earned
A deliberately custom, tactile UI that ignores stock components and still made the finals, because it feels native: dense haptics and smooth motion.
Weaker
Some of it is novelty, and its custom controls work against accessibility.
Copy
This is the evidence that Saga can keep its runes, glass recipe and Font Awesome. A custom look is never what disqualifies an app; a custom look that feels like the web does.

Guitar Wiz · Structured

ADA 2026 · Inclusivity winner · finalist
Earned
Apple's own writeup of Guitar Wiz names the settings: Dynamic Type, Increased Contrast, Differentiate Without Color, plus spoken guidance. Structured is a calm, neurodivergent-friendly planner that lives in widgets and Live Activities.
Weaker
Neither is visually remarkable. Inclusivity is judged on checklists, so "accessible" has to be provable setting by setting.
Copy
Saga's swipe outcomes are coded by color (ochre, lichen, stone). Give each a shape or label that works without color, and test every screen at the largest accessibility size.

The StoryGraph

App Store Awards 2025 · Cultural Impact
Earned
It's the books version of Saga: tracking, discovery and stats by mood, from an indie team, as an alternative to the incumbent.
Weaker
It wasn't recognized for craft. Its design is plain, and it won on what it means to readers.
Copy
A tracking and discovery app can be recognized by Apple. Saga can win on craft and on meaning together: "the calm way to decide what to watch".

HBO Max

App Store Awards 2025 · Apple TV App of the Year
Earned
Coverage credits accessibility and inclusive viewing, including American Sign Language, on top of the catalog. On TV, accessibility is part of the product.
Weaker
The catalog is doing much of the work. Few independent TV apps compete.
Copy
On Apple TV, polish means a perfect focus engine, readable type from across the room, and VoiceOver that works from the remote.

What Apple says it judges, and what the winners show

Apple's words

  • Interaction: "intuitive interfaces and effortless controls that are perfectly tailored to their platform."
  • Visuals and Graphics: "stunning imagery, skillfully drawn interfaces, and high-quality animations with a distinctive and cohesive theme."
  • Innovation: "a novel use of Apple technologies that sets them apart in their genre."
  • Editors (featuring): user experience, UI design, innovation, uniqueness, accessibility, localization and the product page. "There's no checklist."

What winners share

  • The year's new platform feature, early. 2026 rewarded Liquid Glass (Moonlitt, Tide Guide). Three of the twelve 2025 and 2026 app winners were Vision Pro apps (Taobao, NBA, Primary), and one was an iPad and Pencil app (Feather).
  • Narrow and deep. One tide, one moon, one guitar. Breadth doesn't win.
  • The app shows up outside itself: widgets, Live Activities, the Watch and the Mac.
  • Accessibility named setting by setting, even outside the Inclusivity category.

Where they diverge

  • "Novel use in their genre" in practice means the first great app on Apple's newest hardware or design language.
  • "Tailored to their platform" doesn't mean stock UI. Custom identities (Not Boring, Tide Guide) win when they feel native: real haptics, 120 Hz and system materials.
  • Content and entertainment apps rarely win for craft. They get through as finalists (Blippo+) or win on new hardware (NBA). That's the opening for Saga.

Where Saga stands

The scorecard, from the code

Each rating is checked in the repo on master 01fb40f5 or in an issue. Native is untested beyond TestFlight build 1 and the simulator.

AreaNowEvidenceGap
InteractionYellow A distinctive swipe and turn deck. The carve haptic language (src/lib/haptics.ts, used in 45 files). Reduce Motion is honored in Swipe (swipe.tsx:122, SwipeCard.tsx:193). Native stack with swipe-back (app/(app)/_layout.tsx). The first card turn stalled 130 to 280 ms; the fix is WIP (#346). The tab bar and sheets are drawn in JavaScript (components/TabBar.tsx, Sheet, Takeover), so iOS won't move them into the Duo band or out of the fold. No peek or context menus. Keyboard handling is per screen (KeyboardAvoidingView in 2 files, Spotlight's fix in #335).
Visuals and GraphicsYellow A cohesive identity: runes, ochre on basalt, poster palettes and a single glass recipe (brand-identity.md §4–6). Glass is an expo-blur approximation, because iOS 26's native glass drew nothing (Glass.tsx:33-37, #332). Layout bugs on the title page, the Me page and while scrolling (#332 comment). Trailers and the map are web views.
InnovationRed Nothing uses the newest Apple technology yet. On the Duo's inner display Saga runs in a black frame until it builds with the iOS 27.1 SDK (#347 §5). The Duo spread plus hinge-aware movie night (#347) is the one credible path.
Delight and FunYellow The card turn, chapters, runes and stamps. Strong personality. Blippo+ shows that personality reaches the finals but doesn't win on its own.
InclusivityRed 225 accessibilityLabels. Button equivalents for every swipe. Reduce Motion in Swipe. Dynamic Type isn't capped or checked; only Icon.tsx:244 opts out (#332). Reduce Transparency isn't handled anywhere (zero hits), although brand-identity.md §6 says it falls back to granite. VoiceOver custom actions exist only on DismissableRow.tsx:131, not the card. Swipe outcomes are coded by color. US English only.
Social ImpactNot a fitNot pursued.
Outside the appRed No associatedDomains in app.json, so links open Safari. No expo-notifications, widgets, Live Activities, App Intents or Spotlight indexing (#61). The share sheet is only used for profiles (lib/share-profile.ts:74). expo-widgets is stable in SDK 56 and later. expo-app-intents is alpha in SDK 58.
iPhone DuoRed orientation: "portrait" and supportsTablet: false (app.json). Layout already follows the window (27 uses of useWindowDimensions, Uniwind breakpoints). Needs SDK 58 and Xcode 27.1, a Spread primitive, the rail in the band, fold-safe sheets and a hinge module (#347).
Apple TVYellow The same app built on react-native-tvos with focus on Tap/Button. Checked on the simulator only, on 2026-10-06 (docs/tv.md). TV v1 (#344) is on a break and aimed at Google TV and Roku. Never driven with a real Siri Remote. Trailers and the map don't open. No Top Shelf, no tvOS store path, no phone-to-TV handoff beyond sign-in.
Performance and offlineYellow A persisted query cache paints Me, Library and preferences at once on a cold start (lib/query-client.ts:83-93). Session startup works offline (contexts/auth.tsx:115). No measured launch-time or 120 Hz budget on device. FloatingBar fades a blurred parent (#332 comment).
iPadLater supportsTablet: false. Once the Duo's regular-width spread exists, iPad mostly comes with it. Decide after Phase 2.

The roadmap

Closing the gap, in four phases

OTA means the work ships as JavaScript over the air to the TestFlight build. Native means it waits for the next build. Effort: S is days, M is one to two weeks, L is longer. Every item keeps web and Android exactly as they are.

1 · The floor

now · OTA · iPhone
  • Finish the iOS compatibility pass#332 · S–M · low riskFix the title page, the Me page and the scrolled header layouts, the onboarding swipe-back, and What's new clips. Judges and editors open the app and see these bugs first.
  • The card turn at 120 Hz#346 · S · medium riskLand and measure the first-turn fix on device, then set a frame budget for the deck, Spotlight and Explore's scroll. This is Saga's Moonlitt slider.
  • Accessibility to Apple's listnew: "Accessibility pass: Dynamic Type, VoiceOver, Reduce Transparency" · M · low riskDynamic Type at AX5 with a deliberate cap per primitive. Reduce Transparency switches Glass to solid granite, as the brand doc already promises. VoiceOver custom actions on the card (Pass, Watchlist, Seen, Turn). Differentiate Without Color on the stamps. Bold Text.
  • Device QA on a real iPhone#30 · S · ownerNative is untested until the owner checks a device.

2 · Part of iOS

build 2 · native · iPhone
  • Universal links#332 / #61 · S · low riskAdd applinks:saga.pictures and the association file, so shared titles and profiles open the app.
  • Notifications: releases and new episodes#289 · M · medium risk (row cost, scoped cron)This is the first time Saga reaches people outside the app, and it's what makes a widget and a Live Activity worth having.
  • A widget and a Live Activitynew: "Widgets: Tonight's pick and Up next" · M · medium riskexpo-widgets is stable. The poster palette shows up on the Home Screen, StandBy and the Lock Screen. A Live Activity follows a release night or a "deciding tonight" session.
  • Peek and context menus on postersnew · S–M · check SDK 57's Link.Preview and Link.MenuLong-press to preview a title, add it to your watchlist, or share it. This is the most iOS-feeling gesture Saga doesn't have yet.
  • Another try at real Liquid Glassnew: "Why GlassView drew nothing" · S spike · medium riskFind the cause, either in expo-glass-effect or in how Saga uses it. Use real glass only where it reads as the system (the tab bar, floating buttons), and keep the brand recipe on sheets. This doesn't block anything else.
  • Share a title#230 · SThe system share sheet with a rich link preview.

3 · Built for iPhone Duo

SDK 58 + Xcode 27.1 · native + JS · Duo
  • Full-screen build#347 idea 1 · M · high risk (beta SDK, tvOS fork must match)Without it, Saga sits in a black frame on the inner display. Upgrade SDK 57 to 58 as its own PR, with every gate passing.
  • The spread#347 idea 2 · M–L · iOS regular width onlyOne Spread primitive. Swipe: the card and its story. Library and Spotlight: a list and its detail. Title pages: the moment and the story.
  • The tab rail in the band, sheets off the fold#347 ideas 3 and 5 · S–MiOS won't move JavaScript chrome for us. Decide between native tabs and a custom rail (#347, question 2).
  • Poster-shaped cover screen, and folding without losing your place#347 ideas 4 and 5 · S–MThe 1 : 1.46 cover display is almost a 2 : 3 poster. Folding mid-swipe settles the card, never throws it.
  • Movie night on the table#347 idea 6 · M · native moduleThe trailer plays above the hinge and the decision buttons sit below it. This is Apple's own tabletop guidance, applied to a couple on a couch.
  • Siri, Shortcuts and Spotlight#61 · M · alpha API"What should we watch tonight?" Ship once expo-app-intents is out of alpha.

4 · Apple TV, the third screen

own PRs · tvOS · never touches phone or web
  • Real-remote polish#344 · MThe focus engine, parallax on posters and Siri Remote swipes on the deck, tested on hardware (an exception to the lab-only rule needs the owner's yes).
  • Top Shelfnew: "Apple TV Top Shelf: your watchlist" · M · native targetYour watchlist and tonight's pick on the Home Screen, with no first-party Expo module.
  • Pick on your phone, watch on the TVnew · MThe handoff already signs you in. Extend it so the title you chose on the phone is waiting on the TV. This is the moment that makes the three screens one product.
  • Apple TV store pathnew: "Apple TV release checklist" · S · ownerThe checklist exists for Android TV and Roku (#337, #338), not Apple TV.

iPhone Duo

What's known, and the plan

Confirmed by Apple

Announced September 9. Pre-orders October 16, in stores October 23, from $1,999. A 7.6″ inner display and a 5.4″ outer display with the same aspect ratio and ProMotion. Ships with iOS 27.1. Split View comes to iPhone. Netflix, Zoom and Slack are the named launch apps.

For developers

Inner display is regular width and height. Bars move to a right-side band. The fold's division region has zero width when flat. onHingeChange / UIHingeInteraction. Older SDKs run in a black frame. Use size classes, not orientation.

For Saga

The full display is blocked on Expo SDK 58 and Xcode 27.1 (EAS images "coming soon" as of September 15), plus a matching react-native-tvos release. Until then, Phase 3's JavaScript work can be built and checked in Xcode's Device Hub.

The full screen-by-screen design, the open questions and the mockups are in #347 and its artifact.

Risks

What could go wrong

Issues

Where the work lives

IssueRole in this epic
#347iPhone Duo exploration (Phase 3)
#332iOS compatibility pass (Phase 1), universal links (Phase 2)
#346Swipe first-turn performance and TestFlight updates (Phase 1)
#30Device QA (Phase 1)
#289 · #61 · #230Notifications · integrations (widgets, intents) · sharing a title (Phases 2 and 3)
#344 · #339TV v1 · store readiness (Phase 4)
#34 · #43App Store submission and listing (the product page editors judge)
new, not created yetAccessibility pass · Widgets and a Live Activity · Peek and context menus · Why GlassView drew nothing · Apple TV Top Shelf · Phone-to-TV handoff · Apple TV release checklist