Assignments > Building Maintainable Wireframes in Figma

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:

  1. Import a design token file
  2. Learn how tokens control the look of an interface
  3. Build reusable components
  4. Design three screens
  5. 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:

hw07.zip

In Figma:

  1. Open the Variables panel
  2. Create a new variable collection
  3. 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-color and dark-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):

Figma file with:
Design System page (tokens preview, typography styles, Button / Input / Card components)
Screens page (3 screens × desktop + mobile = 6 frames)
Theme demonstration (at least two variable modes applied to your screens)
Link to view or copy the file (set sharing as needed so that we can see it)

UNC Asheville Department of Computer Science