Lydia Kim



a creative in tech < > art < > fashion


based in nyc, where its the .





































image blog

socials
index
Background
Education
MS Cornell University 
Information Systems x Connective Media

BS Santa Clara University
Web Engineering x Computer Engineering x Studio Art


Experience Footwear, Creative Tech Fellow
HILOS
2025

Retail Associate
Reformation NoHo
2025

Retail Associate
Anthropologie FiDi
2024-25

HCI Researcher
Matter of Tech Lab
2024-25

Digitial Fabrication Assistant
Kelly Detweiler
2024

Sculpture Assistant
Ryan Carrington 
2023-24

Multimedia + Curatorial Intern
Montalvo Arts
2023

Software Developer Intern
Antler
2023

Gallery Assistant
Masterworks Fine Arts
2023

Interactive Media Designer
BioCAD
2022-23

Micro Robot Research
National Science Foundation
2022-23


Certifications
Inside LVMH
Creation and Branding
Retail & Customer Experience


Leadership Student Art League President
2023-24
SCU

AIGA, VP + Chapter Founder
2023-24
SCU


Exhibitions  Digital Design: ReImagining SFMOMA
2023 Juried Art Show
SCU

Wire Sculpture: What’s Left Behind
2023 Dowd Winter Art Show
SCU


Updates from 07.29.25  

MeadowMinds


Game Development | Unity, C#, Maya, Blender
Senior Design
2023

Functionality

This Unity web app is designed for middle school students, aiming to teach fundamental machine learning concepts like Large Language Models (LLM) and clustering.
My Role

This was a joint thesis project with Michelle Yavorskiy. 
My role was creating the enviornment and clustering game. 
Check out the live site!


Design Tools 🛠️: Figma, Unity, Autodesk Maya, Blender
Computing Skills💻:  C#




Design Process


Objective ︎︎︎
Our main objective with creating MeadowMinds was to simplify the basic concepts of ML in to a playable 3D world.

Motivation ︎︎︎Our motivation is to provide an engaging educational platform for middle schoolers that makes learning accessible and appealing.  We hope that this game can provide an early familiarity with computational concepts.

Problem Statement ︎︎︎
With the rise of artificial intelligence in our everyday lives, it is important to educate those from a young age on the functionality of ML in an inviting and effective manner.This understanding is crucial for young adults to responsibly harness its creative and practical aspects.

Activity Diagram: Shows basic start to finish game process.



Scene Diagram: Shows how the scenes transition in to each other, as the player walks through the game. 


Clustering Game Explained


The main points I wanted to emphasize were that there are centroids with user made clusters, where they have to look at produce to create groups based on an assumed characteristic. This alludes to the dea of unlabelled data as there is not a characteristic or tag that can easily be used to split the produce in to groups of 4. 

The game developers are the one creating the query, so the user is acting like the machine learning algorithm to find what items in the clusters would best match the query.


Deployment 


This game had two goals in regards to optimizing computer graphics.
1) Minimizing 3D Model Rendering Run Time  
2) Code Optimization

Why is this important?
Our deployment process was based around building our project to be optimized for a 3rd party game server upload, where we chose itch.io, this server caps project uploads at 1000 files and 1 gigabyte zipped meaning that we had to take further optimize our memory to have a successful upload. 



To minimize 3D model rendering run time, we opted to use low-poly models that would be less computationally intensive. A 3d model that has a very smooth look would be considered to have a high polygon count. The carrot below has quite a rigid look, meaning that its a low poly model which  decreases our storage consumption.







To optimize our code, we minimized memory allocations is to limit the content inside frequently called functions mainly the Update() function to avoid performance decreases. The beginning script in the bottom image is the default C # code that Unity gives you when a new script is created. 

You can see that there is a start function that is only called once before the first frame updates and the update function which is called  once per frame. A better and more efficient method is to instantiate objects in the start function and continue reusing them.



When possible we also attempted to integrate efficient data structures and algorithms to minimize CPU load. some examples that could create better code performance is declaring variables at a higher scope and continuing to reuse them, precomputing calculation values, and using structs instead of classes.

There are some integrated memory and performance options for Unity WebGL but we found that they just were not sufficient enough to successful uploading our game.


I recorded the outcomes from a Unity Profiler Test on my First VS Final draft of optimized code to give us some more insight in how drastic code optimization can be to the performance of a game. 

We can see that through these rendering tests, that making code changescreates a round 50% more efficient for each optimization method.








︎︎︎ SFMoMA



@Lydia Kim 2023