Domain:
UI / Design System / Frontend
Difficulty:
Advanced
Problem / steps to reproduce (for bugs)
- PULA currently lacks a cohesive design system.
- UI components are inconsistent across the app (buttons, text, links, tabs, colors, typography).
- To improve usability and consistency, the app should follow Wikimedia Codex Design System principles.
- Reference: Wikimedia Codex Documentation
Expected outcome / task:
- Design a complete design system for PULA in Figma, covering the following elements:
- Buttons
- Primary, secondary, outline, disabled states
- Hover, active, focus states
- Variants for small, medium, and large sizes
- Text
- Body text, headings, captions, labels
- Font weights, line heights, letter spacing
- Links
- Standard links, hover, active, visited states
- Underline, color, and accessibility considerations
- Tabs
- Active/inactive tabs
- Hover and focus states
- Variants for horizontal and vertical layouts
- Colors
- Primary, secondary, background, surface, error, warning, info, success
- Accessibility contrast ratios
- Tailwind-compatible color palette
- Typography
- Fonts for headings, body, and code
- Sizes, line heights, and hierarchy
- Consistent usage rules across the app
Deliverables:
- Figma file containing all components, variants, and tokens
- Documentation of usage guidelines (color, typography, spacing)
- Optional: export Tailwind configuration for colors, spacing, and fonts
Any links or references:
- Wikimedia Codex Documentation: https://doc.wikimedia.org/codex/main/using-codex/accessing-codex.html
- Figma Documentation: https://help.figma.com/hc/en-us
- Tailwind Design Tokens Reference: https://tailwindcss.com/docs/customizing-colors
Setup Steps (short):
- Open a new Figma project for PULA design system.
- Review Wikimedia Codex components and design tokens.
- Create components in Figma for:
- Buttons, Text, Links, Tabs, Colors, Typography
- Add variants for different states (hover, focus, active, disabled).
- Define a consistent color palette and typography hierarchy.
- Document usage rules for developers to implement in Next.js + Tailwind.
- Review for accessibility (contrast ratios, font sizes) and responsiveness.