Accommodations Engine

Streamlining accommodations search, storage and recommendation processes for 200+ Return-to-Work Specialists at WSIB.

Role

Lead Product Designer

Team

  • 2 Product Designers

  • 3 Developers

  • 1 Project Lead

Duration

Feb 2025 - Apr 2025

Overview

Accommodations Engine is a database tailor-made for Return-to-Work specialists at WSIB to minimize the search times and difficulties in finding accommodations for injured workers. This enterprise solution was created in-house by the WSIB Innovation Lab.

tl;dr

My Impact

During my UI/UX internship at the Lab, I collaborated with cross-functional teams to design and streamline key features and flows that enhanced the experience for Return to Work Specialists, with a focus on scope expansion and usability improvements.

Including but not limited to…

  • Redefining and structuring the document upload process & backlog. Expanding scope to include duplicate accommodations and saving work-in-progress capabilities.

  • Designing login & registration flows

  • Assembling global components and building the design library

  • Implementing a feedback loop

For some context.

What is an accommodation?

When a worker is injured at work, a Return to Work Specialist from WSIB helps them get back to work in the fastest and safest way possible. Part of this process includes recommending accommodations to integrate into workers' day-to-day life.

Accommodations can include assistive devices or process changes. Imagine ladder hoists, knee braces, and noise cancelling headphones!

What is the Accommodations Engine?

A database for accommodations, minimizing the search times and making the process easier for Return-to-work specialists.

TL;DR: Editors can upload accommodations via documents or website links, which are then parsed by AI and uploaded to a backlog, where each accommodation must be verified by a human before being made public for viewing. Accommodations are searchable, filterable, and sortable by viewers, who can now easily locate accommodations in one centralized location!

The final solution

Welcome to the Accommodations Engine!

↑ Signing up and logging in to the Accommodations Engine.

↑ View and filter through accommodations.

↑ Editing a singular accommodation.

↑ Uploading from a document.

↑ Uploading from a website.

જ⁀➴₊⊹

i.

Streamlining the document upload process

Streamlining the document upload process

Discovery

Friction in the document upload process

When expanding our scope to consider duplicate accommodations and saving work-in-progress accommodations, we identified friction in the document upload flow.

The current flow, led to a Source Summary page, which displayed all accommodations extracted and uploaded from a document, as hyperlinks to individual editing pages.

Define

Problem identification

How might we restructure the document upload flow to help users identify and manage duplicate accommodations with ease?

With new scope, we needed a way to handle duplicate accommodations, defined as accommodations extracted with the same name as an existing accommodation in the database.

In the existing flow, the user would have to open the individual editing page and delete each duplicate. We found this experience to be too disjointed and error prone, as a user could easily mistakenly leave the source summary without dealing with duplicates.

Goals

1

Dealing with Duplicates

With the introduction of duplicate accommodations into the product scope, we ideally want users to deal with duplicates immediately after upload, by making the process clear, easy and streamlined.

2

Improve Flow

Improve the overall flow of the document upload process. Currently, it acts as a jumping board for users to edit each extracted accommodation, making it a disjointed experience.

3

Define Error States

Remove unnecessary and confusing error states. The only error currently displayed is for unfilled fields. However, upon first upload, this error actually applies to all accommodations, meaning the error would be displayed for every accommodation.

Design

Iteration 1: Introducing duplicates

Firstly, we introduced an entirely separate page for users to first deal with duplicates. The user can open a preview of each duplicate and then decide to keep or remove what was extracted.

Iteration 2: Combining duplicates

After speaking to developers and stakeholders, we integrated the duplicates into the Source Summary, simplifying the process. We introduced an action menu on the Duplicate Preview page, to help users understand what to do.

Iteration 3: Streamlining the Source Summary

To streamline the flow, we transformed the Source Summary page, from a place where users could open, edit and verify each accommodation, to an Upload Review page.

From here, users can review the uploads, choosing to delete, keep or add. Afterwards, they can edit and verify them through returning to the Verification Backlog.

To handle duplicates, we introduced a comparison modal that opens on the same page and takes up only half the screen. This reduces redirection and minimizes user confusion during the duplicate review process.

Here's the new document upload flow in action!

Design

Verification Backlog

With the expanded scope of duplicate accommodations and for users to save in-progress edits, we redesigned the Verification Backlog page.

We added separate tabs for in-progress accommodations and suggested edits. We designed appropriate error messages for duplicate accommodations and when an in-progress accommodation has been reverified by another user.

Design

Adding the ability to upload from a website

Later in the timeline, we added the ability for users to upload website links, as another way to upload accommodations.

Inspired and validated by upload designs on Gmail and Google Drive, I added tabs to the Add Accommodation popup! This allows space for the product to grow, if users would like to add other ways to upload accommodations.

જ⁀➴₊⊹

ii.

Login & registration

Discovery & Define

Defining Login and Registration Processes

Initially, there was no proper sign-up process in place. I explored integrating Microsoft authentication for consistency with internal tools, but technical limitations made it unfeasible. From there, I defined the need for a fully custom login and registration flow. Drawing from UX best practices and competitive benchmarks, I set out to design the login and registration process!

Design and Deliver

Final Design

I designed, documented and handed off a complete login and register flow, with confirmation code, reset password flows and error states.

જ⁀➴₊⊹

iii.

Design artifacts

Discovery

Cleaning up!

While working within and following the WSIB design system, we realized we hadn't properly defined things such as input field states. In some cases, our designs lacked consistency across different pages depending on who worked on it and the leftover progress from the previous cohort. We recognized the need to organize our components and build a library.

Design & Deliver

Centralized Components

We created a page in the Figma file to store and document our custom components. This organization and documentation helped our dev team in creating global components and refactoring the front end!

જ⁀➴₊⊹

iv.

Implementing a feedback loop

Discovery + Define

Users need a way to provide feedback!

As testing approached, we identified a gap in user feedback collection—there was no clear way for users working asynchronously to share insights or report bugs on the website. This highlighted the need for an integrated feedback loop within the website to support continuous improvement.

How might we implement a lightweight, accessible feedback method that encourages user input without disrupting workflow.

Design

Researching feedback methods

After researching feedback patterns like floating widgets, modal prompts, and persistent forms, I opted for a subtle feedback button anchored to the side of each page. When clicked, it opens a popup where users can quickly submit comments or report issues—striking a balance between visibility and minimal disruption to the user’s workflow!

Types of feedback

The feedback popup offers six feedback types, each with a customized form. I collaborated with stakeholders, developers, and our project lead to ensure each form captured relevant insights while remaining quick and user-friendly.

Deliver

Implementing an internal feedback loop

જ⁀➴₊⊹

v.

Delivering

Testing

Usability Testing

At the tail-end of my internship (the last week!), Accommodations Engine went live for beta testing!

(While we had stakeholder validation integrated throughout our process, it was difficult to test with users prior to having a full-scale product developed as the user experience heavily relies on a live database.)

We synthesized our insights from the testing to pass along to the next cohort of designers at the Lab, who will be taking on this project! ◡̈

જ⁀➴₊⊹

vi.

Reflecting

Key Takeaways

What did I learn?

Thinking about user flows

When redesigning features like the document upload flow, we went through several iterations before realizing we should’ve stepped back and mapped out the entire process from the start. Taking a holistic view earlier would have saved time and led to clearer decisions.

Cross-functional collaboration

I learned how to collaborate more effectively with developers by aligning early on, staying flexible, and clearly communicating design intent throughout the process.

Maintaining design artifacts

We only began organizing our components and aligning design artifacts about a month in, but doing so was crucial—it helped streamline our workflow and made it easier for developers to build reusable front-end components.

My Gratitude

Accommodations Engine is an impactful project that helps real people streamline their work! Designing for this product reaffirmed my passion in digital design and my desire to continue to design and build. 

All my thanks to

  • Sviat(oslav)— for being an amazing hardworking dev and project lead! thanks for giving me the chance to work on your project and trusting me! peace out!

  • Doyoon— for being a goated design buddy #glaze (also front end dev)! i have learned from you and hope you have learned from me!

  • Tristan & Landon (dev team) — for building out our designs to near-perfection and bringing everything to life! (and for the demo vids…)

  • Dima — for your leadership and guidance this term. thankful to how much i have learned in the thoughtful and encouraging environment you have built at the lab!

Let's keep in touch!

Thanks for stopping by. I'd love to chat!

Let's keep in touch!

Thanks for stopping by. I'd love to chat!

Let's keep in touch!

Thanks for stopping by. I'd love to chat!