logo

Hi there!


I love exploring how extended reality (XR) technologies can inspire and facilitate creativity. From publishing research on VR interactions during my master's to working on the engineering behind those experiences, I want to help build tools that enable novel interactions with immersive technologies. Let's connect and chat about XR, HCI, or your latest craft idea!

Education

Classes:

  • Human-Computer Interaction
  • Computer Graphics
  • Machine Learning
  • Computer Vision
  • Numerical Methods
  • Algorithm Design, Analysis and Complexity
  • Operating Systems
  • Introduction to Databases
  • Multivariable Calculus

  • Master of Mathematics (MMath) in Computer Science

    University of Waterloo

    September 2020 - September 2023


  • Honours Bachelor of Science (HBSc) in Computer Science

    University of Toronto

    September 2015 - June 2020


    • Specialist in Computer Science with a Computer Vision focus
    • Graduated with High Distinction
    • Completed a year-long PEY co-op internship (2018-2019)
    • Dean’s List (2016, 2017), President’s Entrance Scholarship (2015), Friends of Victoria University Library Scholarship (2016), Canada Chinese Computer Association Scholarship (2016)

Experience

My most recent work experience.

  • Software Engineer

    Meta

    October 2023 - Present


    • Engineering for Reality Labs Research
    • Contract through Magnit Global

  • Research Engineer Intern

    Meta

    September 2022 - December 2022


    • Designed use cases and developed Augmented Reality (AR) research prototypes

  • Research Intern

    Roblox

    May 2022 - August 2022


    • Designed research project on Virtual Reality (VR) user experiences and submitted manuscript for peer review
    • Implemented research prototypes on Roblox Studio using Luau

  • Research Intern

    Adobe

    May 2021 - August 2021


    • Conducted HCI research on typographical layouts in the Graphics Intelligence and Learning Lab
    • Designed and administered an experiment and survey to identify visual preferences in typography

  • Research Assistant

    University of Toronto

    July 2020 - August 2020


    • Additional work on my undergrad research project to prepare for conference submission (published in ACM SUI 2021)
    • Co-authors: Haijun Xia, Daniel Wigdor, and Fanny Chevalier
    • Reviewed existing research on virtual reality (VR) authoring tools
    • Designed a novel tool for visualization in virtual reality design space exploration
    • Developed the VR prototype in Unity 3D (C#) for Oculus Rift
    • Designed and conducted remote user studies with design experts to evaluate the tool

  • Software Developer Intern (Maya Rendering team)

    Autodesk

    May 2019 - August 2019


    • Developed features for Autodesk Maya’s Render Setup using PyMEL, Python and Qt
    • Collaborated with designers to design and implement the grouping feature that allows users to organize and manipulate multiple object overrides simultaneously
    • Created a feature that summarizes information from the Maya node dependency graph

  • Software Developer Intern

    Intel

    May 2018 - May 2019


    • Worked in the Device Enablement and Configuration team as well as the Power Modelling team
    • Designed and developed Intel's PSG software department's centralized database to manage supporting device attributes in their respective software releases
    • Maintained dashboards to track project developments
    • Collaborated with satellite teams
    • Worked on Intel PSG's Early Power Estimator tool

  • Software Designer-Coop

    Nokia

    May 2017 - August 2017


    • Worked with python, bash and the Robot Framework for test automation in the QA Research and Development group
    • Mentored summer students in product installation and python and bash scripting
    • Worked in Linux (Red Hat) environment
    • Wrote well-documented and formatted code to facillitate handoff and re-use

  • Pottery Counsellor

    YMCA of Greater Toronto

    July 2016 - August 2016


    • Designed the first Pottery Camp curriculum for YMCA of Greater Toronto summer camps
    • Resolved the uncertainties of a new program through effective communication with coworkers and clay technicians
    • Delivered engaging ceramics instruction to campers age 6-12

  • Perceptual Allowances of Anamorphic Interaction Cues in Spatial Augmented Reality

    UWSpace

    Thesis


    • Co-supervisors: Daniel Vogel & Craig Kaplan
    • A proposed design space for anamorphic interaction cues, two experiments on perceptual allowances of those cues, and a proposed experiment comparing spatial augmented reality and virtual reality performance in those tasks

  • Generating Packed Rectilinear Display Text Layouts with Weighted Word Emphasis

    Graphics Interface 2023

    Paper


    • Authors: Cheryl Lao, Craig S. Kaplan, Daniel Vogel, Jose Echevarria, Paul Asente
    • A tool for generating all possible packed rectangular layouts for a given phrase and a technique for prioritization based on intended word emphasis

  • A Preliminary Study of World Customizability for Virtual Reality Co-Play

    ACM CHI 2023

    Paper


    • Authors: Cheryl Lao, Yanting (Caitlyn) Zhang, Daniel Vogel, Craig S. Kaplan, Morgan McGuire, and Victor Zordan
    • An exploration on how customizability affects creativity in multiplayer VR settings

  • Attribute Spaces: Supporting Design Space Exploration in Virtual Reality

    ACM SUI 2021

    Paper


    • Authors: Cheryl Lao, Haijun Xia, Daniel Vogel, Fanny Chevalier
    • A VR tool for visualizing and manipulating attributes for objects in a scene.

Projects

Please refer to GitHub for the source code and more projects.

  • Raytracer

    Computer Graphics Project

    C++


    • A raytracer written with the C++ Eigen library that rendered 3D scenes built with .stl objects as images with lighting, reflections, and shadows
    • Extended the project to make an animated scene with depth of field blurring
    • The tongue-in-cheek artist's statement that I submitted with the project can be found here
    • 3D human models were edited in Blender based on work by Tedi Permana

  • Image Denoising with Machine Learning

    Computer Vision / Machine Learning Project

    PyTorch

    OpenCV

    Python


    • Project partner: Angelo Austria
    • Implemented, trained, and tested an image noise remover based on the DnCNN architecture by Zhang et al.
    • Augmented image data with a variety of image processing techniques to increase generalizability of the model
    • Evaluated the effectiveness of the model on several image noise types (gaussian, speckle (grayscale and coloured), salt & pepper)

  • AR Food Bank Donation Filter

    Augmented Reality Project

    SparkAR


    • An interactive AR Instagram filter that suggests which food a person should donate to the food bank
    • Implemented using Facebook's SparkAR software
    • Data drawn from Food Banks Canda website
    • A quick run-through of the filter and its implementation can be found in the video above
    • Submitted to Facebook's 2020 Augmented Reality Hackathon

  • Idyllic Island

    Research Project - Educational Video Game Design

    Unity2D

    C#


    • Supervisors: Steve Engels and Daniel Zingaro
    • Project Partner: Ryan Ro
    • Read our report here!
    • Designed and implemented an educational videogame that was tested by students and faculty throughout the development process to determine the most effective educational features in videogames
    • Applied modified agile development methodologies to deliver an improved game for beta testing regularly
    • Developed an algorithm to approximate animal population levels that accounted for predation and food scarcity within the game

  • SiteScrubber

    Chrome Extension

    JavaScript


    • Winner of Organizer's Choice (3rd) and Best Hack Against Harassmant at The Lady Hacks 2016
    • A Chrome extension that finds offensive words on web pages and seamlessly replaces them with less offensive equivalents
    • I worked on the word recognition and replacement functions on the back end (JavaScript)
    • Now available on the Chrome Web Store as SiteScrubber

Volunteering

My most recent volunteer positions.

  • Vice Chair

    Toronto SIGGRAPH Chapter

    2018-Present


    • SIGGRAPH member profile
    • Executive member from 2018 to 2021
    • Collaborated with other executives to organize computer graphics events for the CG community in Toronto
    • Organized and hosted a panel on immersive technologies featuring Ian Hall, Dave Cardwell, and Michael Nebeling with over 3000 views so far

  • Student Volunteer

    ACM UIST Conference

    2020


    • Provided support for the virtual conference over Discord, and streamed content through Zoom calls
    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 200 student volunteers

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference

    2021


    • Provided support for the virtual conference over the conference's Hubb page, reviewed VR content, and drove student volunteer engagement over Discord
    • Coordinated with other team leaders to ensure smooth operation of the conference

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference

    2020


    • Provided support for the virtual conference over the conference's Hubb page, monitored Zoom calls, and drove student volunteer engagement over Discord
    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 200 student volunteers

  • Student Volunteer Team Leader

    ACM SIGGRAPH Conference

    2019


    • Coordinated with other team leaders to select, onboard, and delegate tasks to over 400 student volunteers
    • Provided on-site support for a conference with over 16,000 attendees

  • President

    U of T Computer Graphics Club

    2016 - 2020


    • Started the club with a focus on computer graphics from the computer science perspective as well as the artistic perspective
    • Designed and delivered a workshop on Graphics Programming in Processing
    • Designed and delivered tutorials on the Microsoft Computer Vision API
    • Coordinated tech talks and a graphics lab tour with professors and grad students in the department
    • Worked with Vice Presidents to manage administrative duties including email list, social media and the utcg.club website
    • Grew membership to over 350 members over 4 years

  • Vice President

    U of T Computer Science Student Union

    April 2017-April 2018


    • Helped to organize Computer Science Frosh for over 350 first years and leaders
    • Coordinateed communications between computer science-related clubs and the student union
    • Worked as a liaison between the department and the student
    • Organized a semi-formal dinner for staff and students with over 100 attendees
    • cssu.ca

  • Microsoft Student Partner

    Microsoft

    2017-2020


    • Taught workshops workshops on the Microsoft Computer Vision API with the U of T Computer Graphics Club
    • Click here for slides
    • Promoted Microsoft events and services to peers

  • Webmaster and Art Director

    UTFOLD (U of T Origami Club)

    September 2015 - April 2017


    • Cooperated with other members of the executive team to design and create polished multi-platform advertisements in a timely manner
    • Redesigned and maintained utfold.com using Wordpress and HTML

  • Visitor Services Chair

    Gardiner Museum of Ceramic Art

    January 2017 - January 2018


    • Managed monthly schedules for about 50 volunteers over 3 different committees
    • Integrated a new subcommittee into the GVC by migrating existing scheduling procedures onto our website and introducing new volunteers to features on our website
    • Was responsible for attending regular executive meetings and writing reports on actions within the committees I oversaw

  • Family Day Intern

    Gardiner Museum of Ceramic Art

    July 2014 - December 2017


    • Provided ceramics and general visual arts-based instruction to museum visitors on a drop-in basis
    • Multitasked in fast-paced situations
    • Responsible for setup and cleanup of materials

Skills

  • J

    Software Development

    The languages/technologies that I use most often change with the project that I'm working on and it's fun to pick up new skills! Check out my projects on github.com/Cheryl-Lao.

  • c

    UX Research

    I'm a mixed methods researcher with experience in qualitative and quantitative research in an academic context. I'm curious about how mixed reality interfaces can enable unique interactions for artists and designers.

  • M

    Teamwork

    In my internship experiences, I've had the chance to collaborate with talented developers on the other side of the world AND brilliant designers a few desks away. I've worked cohesively with others in team sizes ranging from a few people on coding projects to volunteer teams of ~500 people at the SIGGRAPH conferences.

  • d

    Leadership

    I started the University of Toronto Computer Graphics Club when I was in my 2nd year of undergrad so that I could learn more about the field and share that journey with others. Now that I've graduated, the group is run by an amazing team that I've known since they first walked up to our booth at the Frosh Clubs Fair. I think that leadership is all about helping the people around you express their talents and grow together!

  • W

    Art and Design

    I have years of experience creating advertisements, print designs and more for various school clubs and companies. I also took 3 years of ceramics classes in high school and I still love working with clay in my spare time!

  • g

    Arts Education Programming

    I designed the first YMCA of Greater Toronto Pottery camp curriculum and I also held several art-related workshops as president of Art Club in high school. I was a Family Day intern at the Gardiner Museum of Ceramic Art for 3 years and Visitor Services Chair in 2017.