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.
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!