I design computational systems for new ways of thinking, making, and playing.

My time at MIT is a collage of research, teaching, art-making, and collecting words.

I'm advised by Erik Demaine in CSAIL, with support from the MIT MAD Design Fellowship, the NSERC Postgraduate Scholarship, and the MIT Stata Family Presidential Fellowship.

I'm fortunate to work with Mackenzie Leake, and I was advised by Zach Lieberman at the MIT Media Lab.

Photo of Rebecca Lin
Photo: Esther Lin

Updates

Systems

My research explores alternative representations of visual and material systems and how they shape what we can imagine and create. I build systems around these representations, inviting users to understand and play with the constraints and possibilities they introduce.

Refashion - Main view

Refashion: Reconfigurable Garments via Modular Design

UIST 2025 · Rebecca Lin, Michal Lukáč, Mackenzie Leake

How can we design garments for change and reuse? By reimagining garments as dynamic assemblies rather than static products, Refashion enables users to remix their garments on demand.

String to Structure project teaser

Graph Threading

ITCS 2024 · (a-b) Erik D. Demaine, Yael Kirkpatrick, Rebecca Lin

How can we thread tubes with a single string to achieve a target connectivity when the string is pulled taut? By recasting "threadings" as constrained walks on graphs, we give efficient algorithms for computing minimum-length threadings.

Constellation Patterns project teaser

Encoding-Decoding Constellations

Rebecca Lin, Craig S. Kaplan

How can we create constellation patterns with unconventional star arrangements? By representing constellations as mathematical graphs, we gain an alternative language for imagining and creating constellations.

Teaching

  • MIT: Preparation for Undergraduate Research (20 hours/week)
  • MIT: Design and Analysis of Algorithms (20 hours/week)
  • MIT: Design and Analysis of Algorithms (20 hours/week)
  • MIT: Design and Analysis of Algorithms (20 hours/week)
  • MIT: Fundamentals of Programming (20 hours/week)
  • UBC: Intermediate Algorithm Analysis and Design (12 hours/week)
  • UBC: Basic Algorithms and Data Structures (12 hours/week)

Words & Images