Assignments > HW7: Building Maintainable Wireframes in Figma
Due Tue, 03/24 at 11:59pm
Overview
In this assignment, you will create a small interface using design tokens, components, and responsive layouts in Figma. Specifically, you will:
- Import a design token file
- Learn how tokens control the look of an interface
- Build reusable components
- Design three screens
- Create desktop and mobile layouts
The goal is to help you understand how modern design systems work and how they support consistent, scalable interfaces.
1. Background & Setup
1.1. Import the Design Tokens
Download and import the provided token pack:
In Figma:
- Open the Variables panel
- Create a new variable collection
- Import the provided JSON files
Figma will create multiple modes (themes). These modes allow the interface to switch between themes (e.g., light-color, dark-color, light-grayscale, dark-grayscale)
What Are Design Tokens?
Design tokens are named values that control visual properties of the interface. Instead of manually choosing colors or font sizes everywhere, we use tokens.
| Token | Meaning |
|---|---|
bg.default |
Default background color |
text.primary |
Main body text color |
button.primary.bg |
Background color of a primary button |
font.size.md |
Standard text size |
Using tokens ensures that the interface stays consistent and can easily support themes (like dark mode).
Example: Instead of writing Fill: #3C5E96, you use Fill: button.primary.bg. If the theme changes, the color updates automatically.
1.2. Understanding Frames
In Figma, frames are containers that hold interface elements.
You can think of a frame as similar to a generic container (like a div tag). There are also some special, pre-defined frames for desktop, mobile, and tablet screens. Frames can contain text, images, buttons, and other frames.
For this assignment, each screen should be built inside a frame, and you will also make use of frames inside of frames.
Suggested sizes:
- Desktop: 1440 × 1024
- Mobile: 390 × 844
1.3. Auto Layout (Like Flexbox)
More often than not, your frames will need to utilize Figma’s Auto Layout feature, which works very similarly to CSS Flexbox.
It allows elements to:
- align automatically
- maintain spacing
- adapt to different screen sizes (responsiveness)
For example, Auto Layout can:
- stack items vertically
- distribute items horizontally
- maintain consistent spacing between elements
This makes responsive design much easier.
Tutorial Video: Watch this short video on auto layout (just watch the first 5 minutes – don’t worry about Grid).
1.4. Components
A component is a reusable UI element. Instead of redesigning the same thing many times, you design it once and reuse it. Examples of components include:
- buttons
- navigation bars
- cards
- input fields
If you create a button component, you can reuse it on many screens. If you update the main component, all copies update automatically.
Tutorial Video: Watch this short video on components to learn more. It’s extremely useful for building complex wireframes.
Variants
Components can have variants, which represent different versions of the same element.
Example: Button component
Variants might include:
- Primary
- Secondary
- Ghost (transparent version of the button with a border)
- Disabled
All of these belong to the same component, but have slightly different styling. This helps keep designs consistent.
Tutorial Video: Watch this short video on components + variants to learn more.
1.5. Useful Plugins
Figma Plugins save tons of time, and we will eventually use more of them.
- To get started, please install the Tabler Icons plugin for simple, consistent icons.
2. Your Tasks
2.1. Build Three Components
Create the following reusable components:
Button
- Include variants for: Primary, Secondary, Ghost (transparent version with a border)
- Use the design tokens for: colors, font styles, spacing
Input Field
- Include: Label, Input field, Helper text, Error state
Card
- Contains: Title, Body text, Optional button
2.2. Design Three Screens
Create three screens for a simple application based on the stakeholder and journeys you defined in HW6. Each screen should exist in both desktop and mobile layouts, and should feel like it could realistically support the tasks you identified in HW6.
Each screen might be a dashboard, home screen, daily overview, or another screen that represents the main entry point for your user’s most important journey. It should:
- clearly communicate where the user is and what the screen is for
- surface key information or actions that matter most for your stakeholder
- provide at least one obvious next step (primary action) the user can take
2.3. Theme Demonstration
- Use the variable modes from the token file to switch themes.
- Demonstrate at least two themes. (e.g.,
light-coloranddark-color)
Duplicate your screen frame and apply different variable modes to show the same layout under different themes.
2.4. File Organization
Organize your file like this:
Page: Design System
- Tokens Preview
- Typography Styles
- Components
Page: Screens
Example (this will be based on your screens)
- Dashboard:
- Desktop
- Mobile
- Activity Detail
- Desktop
- Mobile
- Profile
- Desktop
- Mobile
What to Submit
Submit according to your instructor’s directions (e.g. Canvas, Figma link, or course site):