This file defines the root-level product design policy for Smart Movie Catalog / SmartMovieCatalog.
For implementation-level frontend tokens and component rules, read:
frontend/DESIGN.mdeng/docs/FRONTEND.md
- Product type: AI-assisted movie catalog and discovery experience.
- Visual direction: cinematic, premium, dark-mode-first, AI-focused.
- Interface priority: fast scanning, rich media presentation, clear AI metadata, and low-friction discovery.
- Root product design policy:
DESIGN.md. - Angular implementation design system:
frontend/DESIGN.md. - Frontend engineering guidance:
eng/docs/FRONTEND.md.
If these documents conflict, prefer the most specific document:
frontend/DESIGN.mdfor component-level implementation.eng/docs/FRONTEND.mdfor frontend architecture and conventions.DESIGN.mdfor product-level visual direction.
- Show the product experience directly. Avoid marketing-style landing pages unless explicitly requested.
- Keep navigation predictable and dense enough for repeated use.
- Make movie posters, titles, metadata, and AI analysis the primary visual signals.
- Use AI affordances deliberately. AI badges, match scores, analysis panels, and progress states should communicate useful information, not decoration.
- Keep states explicit: loading, empty, error, partial data, processing, and unavailable.
- Use dark mode as the default and only supported visual mode unless a light theme is explicitly added.
- Follow the Tailwind-inspired palette and token rules in
frontend/DESIGN.md. The current Angular project uses local CSS for those tokens until Tailwind is added as a project dependency. - Do not introduce a separate color palette, component library, or visual framework without approval.
- Prefer real movie/media imagery or durable product assets over abstract decorative graphics.
- Avoid visual clutter, excessive gradients, nested cards, and ornamental backgrounds.
- Keep primary app surfaces optimized for browsing, filtering, and comparing movies.
- Use constrained content widths for reading-heavy areas and denser layouts for catalog surfaces.
- Ensure responsive layouts work on mobile, tablet, and desktop.
- Do not let text overflow buttons, cards, navigation, badges, or metadata panels.
- Keep reusable UI patterns consistent across routes.
- Use icons for common actions when an established icon exists.
- Use buttons only for actions and links only for navigation.
- Use typed, reusable UI components when a pattern appears more than once.
- Keep feature-specific UI inside feature boundaries when the app grows enough to justify them.
- Keep shared components generic and free of product-specific business logic.
- Keep labels short and action-oriented.
- Avoid visible instructional copy that explains obvious UI mechanics.
- Prefer product language over implementation language.
- Distinguish user-provided metadata, catalog metadata, and AI-generated metadata when all three exist.
- Maintain sufficient contrast against dark surfaces.
- Preserve keyboard navigation for interactive controls.
- Provide accessible names for icon-only buttons.
- Do not rely on color alone for status, errors, or AI confidence.
- Keep focus states visible.
- Update this file when product-level visual direction changes.
- Update
frontend/DESIGN.mdwhen implementation tokens, component specs, or frontend styling rules change. - Update
eng/docs/FRONTEND.mdwhen frontend structure, state management, or integration conventions change.