Reward
Reward
Estimated DREAMS bonus
Approximately 1.2 USDC
Due
This is a **design + frontend implementation bounty**.
This is a **design + frontend implementation bounty**. Build a polished media-tracking product inspired functionally by products such as **AniList** and **Letterboxd**, but with the interaction quality and personality of the best modern consumer apps. We do **not** want an AniList clone, a Letterboxd clone, or a generic streaming-service interface. The goal is to create something that feels like a genuine **experience**. Think about the level of product care found in: - Spotify - Duolingo - Discord - Revolut - Apple Music - the App Store These are references for product quality, interaction design, personality and polish, not visual templates to copy. The product should feel enjoyable enough that users want to open it even when they do not have a specific task to complete. --- # Technology The submission must be implemented using: - **React** - TypeScript strongly preferred - a sensible modern React setup such as Vite or Next.js - Motion / Framer Motion or an equivalent React animation library where appropriate The final submission must be runnable. Do not submit only: - Figma - screenshots - static mockups - concept images - design descriptions We want to actually interact with the product. --- # Product Scope The broader vision is a platform for tracking and discovering: - anime - movies - television For this challenge, anime can be used as the primary dataset because the **AniList public GraphQL API** provides rich real-world data. However, the visual and information architecture should not feel so anime-specific that it could never expand to movies and television later. The system should feel like the foundation of a broader media product. --- # Core Design Philosophy ## This should feel like an app, not a collection of webpages We care heavily about: - interaction design; - information architecture; - navigation; - visual identity; - motion; - micro-interactions; - responsiveness; - state changes; - transitions between surfaces; - little moments that make the product satisfying to use. Do not default to: `navbar → hero → cards → cards → cards → footer` The interface should have its own personality. Be creative and think beyond familiar dashboard patterns. --- # Visual Direction ## Light mode first The primary experience must be designed in **light mode**. ## Pure white background The main application background should be: **#FFFFFF / pure white** Not: - grey; - light grey; - cream; - beige; - warm white; - off-white. Do not make every section a slightly grey rectangle to create hierarchy. Use: - typography; - composition; - spacing; - borders; - imagery; - depth; - scale; - contrast; - colour; - interaction to create structure. Colour elsewhere in the interface is welcome. The app should feel lively rather than sterile. --- # Motion and Interaction Motion is an important part of the challenge. We specifically want thoughtful, modern interaction design rather than generic website animation. Useful references for the type of thinking we like: https://motion.dev/examples/react-app-store https://motion.dev/examples/vue-scroll-velocity-linked-offset https://motion.dev/examples/vue-carousel-ios-exposure-slider https://motion.dev/examples/vue-ios-app-folder Use these as inspiration for the **quality and philosophy** of movement. Do not simply reproduce them. We are especially interested in ideas such as: - shared-layout transitions; - elements naturally expanding into another state; - tactile carousels; - cards transforming into detail surfaces; - fluid filter changes; - animated reordering; - contextual controls; - interactions connected to drag or scroll behaviour; - progress controls that feel satisfying; - navigation that retains spatial context; - responsive hover and press states; - subtle animated statistics; - transitions that communicate relationships. Avoid relying heavily on: - fade-ins; - fly-ins; - generic scroll reveals; - excessive parallax; - bouncing elements; - animation purely for decoration. A simple fade or slide-in is not inherently wrong, but it should not be the primary interaction language. Do not over-animate either. Motion should feel **natural, restrained and useful**. --- # Data Use the **AniList public GraphQL API** for real data wherever practical.
`https://graphql.anilist.co` Use real: - anime titles; - artwork; - characters; - creators; - studios; - metadata; - relations; - recommendations; - other useful AniList information. Do not spend most of the bounty building backend infrastructure. The focus is the **frontend product experience**. Mock user-specific data where necessary. --- # Required Product Surfaces You must implement all of the following as parts of one coherent product: 1. Public Landing Page 2. Logged-In Home 3. Anime Detail Page 4. Advanced Search / Filter / Discovery 5. User Statistics They should not look like five unrelated design exercises. Navigation, components, interaction language, typography and visual identity should remain cohesive throughout. --- # 1. Public Landing Page Create the public-facing experience for someone who has not signed in. The landing page should immediately communicate that this product is about: - tracking what you watch; - discovering what to watch next; - understanding your own taste; - exploring media in a more enjoyable way. Do **not** make a generic SaaS landing page. A large headline followed by three icon cards and a testimonial section is unlikely to score highly. The product itself should become part of the marketing. Consider creatively using: - real posters; - user lists; - viewing progress; - recommendations; - taste profiles; - statistics; - discovery interactions; - animated product previews; - interactive media collections. The landing page should already demonstrate some of the personality and interaction quality of the application. --- # 2. Logged-In Home Design the main experience users see after signing in. This is not just a dashboard. It should feel like the place users naturally begin every session. Assume the user already has a meaningful media library. At minimum, it should elegantly handle: ## Currently Watching Users should be able to immediately understand: - what they are watching; - how far through it they are; - what they can watch next; - when relevant new episodes arrive. Episode progress should be easy and satisfying to update. For example: `7 / 12 episodes` could be represented in a much more interesting way than plain text. ## Recommendations Show personalized recommendations. Avoid simply placing every recommendation into the same card grid. Think about different recommendation contexts such as: - because you loved a particular title; - something outside your usual taste; - highly rated titles you somehow missed; - new releases; - shows from favourite studios; - shorter things to watch; - seasonal recommendations; - recommendations based on particular themes or tags. The recommendation engine itself can be mocked. The **experience around recommendations** is what matters. ## Other useful information Use your judgment. The home could potentially include things such as: - upcoming episodes; - recent activity; - friends' activity; - seasonal media; - recently completed titles; - favourites; - milestones; - recommendations; - quick stats; - interesting discoveries. Do not turn the page into a wall of widgets. Prioritize what genuinely improves the experience. --- # 3. Anime Detail Page Design a complete page for an individual anime. Use **AniList as the functional benchmark for information completeness**. You are expected to inspect AniList yourself, explore a real anime page, inspect the AniList API, and determine what information and interactions belong on a serious media-detail experience. We intentionally do **not** provide a checklist of fields. Part of the challenge is researching the domain and deciding: - what information matters; - how information relates to other information; - what deserves prominence; - what should be secondary; - how users should move through large amounts of content; - how tracking actions should work; - how related content should be explored. The finished page should feel at least as **informationally complete** as AniList while being substantially more thoughtful in its presentation and navigation. Missing meaningful information available through AniList will be penalized. Do not simply copy AniList's existing layout. We care heavily about how you solve the information-density problem. A giant vertically stacked encyclopedia page is not automatically a good solution. Consider whether information could be navigated through: - contextual sections; - persistent navigation; - subviews; - interactive relationships; - progressive disclosure; - expandable surfaces; - spatial transitions; - connected media structures; - other original approaches. These are suggestions, not requirements. Research the domain and design the best solution you can. Use an anime with **substantial data** so the interface has to deal with a realistic amount of information. Choosing an unusually sparse title to avoid difficult design problems will score poorly. --- # 4. Advanced Search / Filter / Discovery This is an important part of the challenge. We want a **serious media discovery system**, not a search box followed by a handful of dropdown menus. Look at AniList's filtering capabilities to understand the level of functionality users expect. Then design a significantly better experience around them. Users should be able to explore a very large catalogue through combinations of criteria. Potential filtering dimensions include things such as: - title search; - media format; - release year; - year range; - season; - airing/release status; - genres; - tags; - inclu
Compare deliverables before releasing escrow.
Submission window closed
Submission window closed - the requester is reviewing entries
Connect a wallet to view actions
Available actions depend on the role of the connected wallet.
Delivery