Design Systems Team
Mission[edit]
Through engagement with WMF staff, partners and volunteers, the Design Systems Team develops an overarching strategy for frontend design and engineering across Wikimedia. This includes building and maintaining a design system platform for wikis that provides shared services of tools and guidelines for building user interfaces in an efficient, scalable, and equitable way.
This work supports audiences that are critical to developing new knowledge experiences by ensuring that they are successful in creating, maintaining, and extending frontend features across Wikimedia with consistency and ease.
Vision[edit]
Provide a comprehensive, reusable, extensible way to build frontends on Wikimedia platforms by creating a universal design style guide and a shared development kit that codifies the design principles and guidelines in a library of UI components.

Current state of frontend development
- Many user-interface libraries used by different teams and projects
- Redundant effort for designers and engineers
- Inconsistent designs
- Inconsistent standards for contribution
- Challenging to onboard
- UIs depend on coupled backend logic

Ideal future-state of frontend development
- Less feature redundancy
- Consistent user experience across all Wikimedia projects
- Web-accessible and multilingual by default
- Standardized browser and device support
- Faster onboarding
- Faster software upgrades
- Systems thinking: teams make an impact outside of immediate focus area
Work Streams[edit]
Wikimedia Design System & Codex UI Library[edit]
The Wikimedia Design System is the place where all of the components and patterns that designers use to create products are systematically organized, in such a way that they are easy to find, modify and create new parts. The design system is grounded in a set of principles and guidelines designed with for consistency, efficiency, web accessibility and internationalization by default.
Codex is the frontend development toolkit used for implementing the Wikimedia Design Style Guide in code. Codex provides engineers with UI components that are built in JavaScript (Vue.js), design tokens to store data for design values, and user-facing documentation.
Frontend Technology[edit]
Wikimedia's medium-term Platform Evolution plan set out to prioritize modern engineering practices, performance, and ease-of-use for contributors of varying experience levels. As a result, the Design Systems Team organized the Vue.js Developer Summit which led to the decision to adopt Vue.js as the official programming framework for MediaWiki.
Initiative OKRs[edit]
The following long-term goals speak to our values and commitment to supporting Wikimedia contributors and product teams. Specific metrics are open to adjustments as the Design System deploys to various partnerships.
Running Metrics[edit]
- 100% of right-to-left (RTL) languages on Wikipedia are supported in Codex
- 100% of Codex components are fully conformant with Web Content Accessibility Guidelines 2.1 level AA (WCAG)
- 100% of net-new Wikimedia projects with user interfaces are designed using the design system
Target Metrics[edit]
- At least 3 product teams at Wikimedia commit to adopting the Design System as their primary method for building UIs in FY2022-23
- Increase community contributions to web products by 50% via design system contributions
- Increase contributor satisfaction around the UI component building process by 25%
- Increase contributor velocity of building UI components by 20%
Service Level Agreements (SLAs)[edit]
- There is no substantial increase in article page load time as a result of using Codex
- There is no loss in reading or editing capabilities for any population as a result of Vue software upgrades
Contribution Guidelines[edit]
We welcome contributions from everyone! There are several ways to contribute:
- Adding or commenting on tasks in our project management system, Phabricator (links below)
- Contributing to the design process
- Suggesting new components and design tokens
- Writing and submitting code
- Reviewing code
- Updating and expanding library documentation
Contributions to Codex are covered by the Code of Conduct for Wikimedia technical spaces.
How to stay up-to-date[edit]
To keep all those interested in using or contributing to Codex up-to-date on topics of design, development, roadmaps, and releases, the Design Systems Team will:
- Use Phabricator to publicly track the work, giving others the opportunity to subscribe to tasks, add comments, or claim tasks.
- Keep our team page up-to-date with information about our work and how to contact us
- Include release notes with every release and send minor+ release summaries out to the following mailing lists:
- Document technical decisions about the library in the ADRs section.
Task tracking[edit]
Work on the library is tracked on the Design-Systems-Team workboard in Phabricator.
I want to know the status of something
Check the workboard to see if a task exists for that work. If so, the task will be in the column that represents its current status. If not, you can create a task (see below) or contact us.
I want to request a feature
You are welcome to create new tasks with the Codex
and Design-Systems-Team
tags. New tasks will go into our backlog column and will be triaged regularly. Please remember that Codex is maintained by a nonprofit—we won't be able to meet all feature requests, and it might take time to get to your request.
I want to follow parts of your work
Create a Phabricator account and add yourself as a subscriber to a task to get notified when updates are made.
I want to contribute to a task
Great! Create or claim a task as soon as you decide to work on it. This will help avoid overlapping, duplicate, or conflicting work. If you're creating a task, add as much detail as you can about the scope of the task: for example, what needs to be completed before the task can be considered "done"?
FY2021-2022 Roadmap[edit]
Timeline | Goal | Description | Status |
---|---|---|---|
Q3 | Codex is available as a prototype for testing and feedback | Make Codex Alpha available on MediaWiki and NPM as a prototype (unstable release for testing) | ![]() |
Q3 | Codex Alpha testing is complete | Test the the design system with Abstract Wikipedia team to gather feedback, resolve bugs, and iterate on Codex | ![]() |
Q4 | Manual testing and QA strategy for Codex is in place | There is a working strategy in place for Codex components to be tested for functional requirements and visual regressions | ![]() |
Q4 | Collaborators have the tools and information they need to onboard seamlessly to the design system and Codex | Design system contribution guidelines, code of conduct, and design tokens are finalized in Figma and Codex | ![]() |
FY2022-2023 Roadmap[edit]
Timeline | Goal | Description | Status |
---|---|---|---|
Q1 | Web Team is able to adopt Codex | Deploy TypeaheadSearch to production (target deployment: July 19-21 train) | ![]() |
Q2 | WMDE is established as a key stakeholder and collaborator on Codex | Explore opportunities within Wikidata and/or WMDE's Technical Wishes team | ![]() |
Q2, Q3, Q4 | Revisit Codex collaboration opportunities with WMF product teams | Tracked internally, to be added to the Roadmap | |
Q2 | All WMF designers are trained to work with the design system | Starting in May 2022 | ![]() |
Q3 | MediaWiki Vue projects are upgraded to Vue 3 | Requires collaboration with partner teams identified in T289017 and deprecation of IE11 (reaches end of life in June 2022) |
Team[edit]
- Anne Tomasevich, Senior Software Engineer
- Bárbara Martínez, Senior UX Designer
- Eric Gardner, Senior Software Engineer
- Lauren de Lench, Senior Technical Program Manager
- Nat Hillard, Senior Engineering Manager
- Roan Kattouw, Principal Software Engineer
- Volker E., Lead User Experience Engineer, Design System and Readers Web
- Sarai Sánchez, UX & Product designer (team member from Wikimedia Deutschland)
All Subpages[edit]
- Design Systems Team/Design Systems Team Vue.js Migration
- Design Systems Team/Release Timeline
- Design Systems Team/Vue.js Design Workshop 2021
- Design Systems Team/Vue.js Developer Summit 2021
- Design Systems Team/Vue.js Developer Summit 2021/Vue.js Developer Summit 2021 Documentation
- Design Systems Team/Vue.js Task Force 2021
- Design Systems Team/WMDE-WMF task force decisions