New challenges, features, and improvements.
2 new challenge categories with 16 new challenges (124 total):
Enumerated Variants — replacing boolean prop explosion with string union enums
Styling API — choosing between className, style, variants, and design tokens
Rebranded from "prop naming" to "component API design" across all copy, meta tags, and OG images
Reorganized sidebar sections: moved Enumerated Variants and Styling API into Prop Design
Aligned category display order with section groupings
/changelog page with MUI Timeline component
Version badge in site header linking to changelog
Package metadata (name, description, author, repository, license)
Updated landing page tagline and hero code example for clarity
Open Graph image rendering for shared results (static root image, edge import fixes, Next.js 16 compat)
Scroll behavior on results screen
Shareable results with dynamic OG image generation
Redesigned results screen with two-column bento layout
Lottie checkmark animation on correct answers
Mobile layout and game UX improvements
Wrong answer flash when advancing to next challenge
3 new challenge categories with 23 new challenges (108 total):
Controlled / Uncontrolled — recognizing controlled vs uncontrolled component patterns
Generic Props — leveraging TypeScript generics in prop interfaces
Server Component Props — prop design for React Server Components
Cross-cutting concern challenge (po-008)
Challenges sorted by difficulty on learn pages
Play button in header and category-specific review links
Anchor links to learn challenge cards for sharing
Smooth page transitions with View Transitions API
Challenge explanations toned down from prescriptive absolutes
Render props, compound components, and controlled/uncontrolled challenges refined
WCAG AA contrast compliance for text
Centralized color tokens via theme and CSS variables
/learn section with react.dev-style sidebar layout
Inline markdown rendering in challenge explanations
2 new challenge categories:
Ref Forwarding — proper patterns for forwarding refs
Accessibility Props — aria and a11y prop conventions
Redesigned landing page hero with open source section
Shiki syntax highlighting (replaced Monaco Editor)
Mid-game question review
SEO metadata and custom angle-bracket favicon
Visual parity enforced on medium/hard challenges
Challenge titles blurred pre-answer to prevent bias
1 new challenge category:
Prop Organization — ordering and grouping props (6 challenges)
12 new challenges across existing categories
Mesh gradient backgrounds
Landing page with 10-challenge sessions, results review, and keyboard navigation
Post-answer animations
Footer links and contribution CTA
Results screen text contrast against gradient background
SSR hydration issues
9 initial challenge categories:
Boolean Naming — is/has/should prefixes for boolean props
Callback Naming — on-prefixed event handler conventions
Children Pattern — composition vs config props
Default Values — sensible defaults and optional props
Discriminated Unions — type-safe variant props
Extending HTML — wrapping native element props correctly
JSDoc — documenting component APIs
Prop Specificity — narrow vs broad prop types
Render Props — render function patterns
Warm navy color palette and improved MUI patterns
ESLint strict type-checking, Prettier, and GitHub CI
Migrated from Tailwind CSS + shadcn/ui to Material UI
Initial release — renamed from "PropDoc" to "Can't Maintain"
Core quiz gameplay — pick the better-named prop
First set of challenges covering naming conventions
Generated via v0 and iterated from there