Projects
Minimalist Soundscape Experience
Web TechnologiesUI/UXTypeScriptReactnext.jsvideo.jsYouTube APIWith a focus on simplicity and minimal user interaction, I created a web application that featured a curated collection of natural soundscapes categorized by time of day. On launch, the app determined the currently appropriate category and selected a soundscape to play.Seamless Yoga Guidance Through Augmented Reality
Augmented RealityPose ReconstructionPythonUnityPandasnumpyscipyOnline fitness videos are a popular way to exercise at home without a personal trainer. However, watching the screen can cause users to lose balance and disrupt their flow. To make complex yoga workouts easier to perform, we created FlowAR, an augmented reality system that projects virtual overlays around the user, synced with the yoga instructor's movements.
Published in CHI '23: Proceedings of the 2023 CHI Conference on Human Factors in Computing SystemsLaser-Cut Foamcore for Fast Assembly
Laser CuttingPersonal FabricationTypeScriptLaser cutting complex objects traditionally involves assembling individual parts from a larger sheet of material, resulting in long search times and low user satisfaction. We developed a novel type of laser-cut 3D structure made from sandwich materials that offers a significant advantage: speedy assembly through folding. Our approach is practical for creating design objects, such as speakers and lamps, as well as structural pieces, like functional furniture.
Published in UIST '22: Proceedings of the 35th Annual ACM Symposium on User Interface Software and TechnologyNesting Laser-Cut Objects for Fast Assembly
Laser CuttingPersonal FabricationTypeScriptTo make complex objects using laser cutting, users must assemble their objects from individual pieces. Since these parts come from a larger sheet of material, people spend a lot of time searching for the right part, which increases production time and decreases user satisfaction. We developed and evaluated Roadkill, a system that nests laser-cut plates on a larger sheet to minimize the amount of time users spend searching for parts and allow for rapid assembly.
Published in UIST '21: The 34th Annual ACM Symposium on User Interface Software and TechnologyAutomatic Reconstruction of Laser-Cut 3D Models
Laser CuttingPersonal FabricationTypeScriptSVGIn a previous project, we extended a 3D laser cutting editor to import external projects. However, this approach required the user to manually reconstruct the imported 2D plates into a 3D model. In this project, we developed a fully automated approach to reconstruct 3D laser-cut models from the cutting plan and integrated this approach into our web-based laser cutting editor.
Published in UIST '21: The 34th Annual ACM Symposium on User Interface Software and Technology3D Reconstruction of Laser-Cut Models
Laser CuttingPersonal FabricationTypeScriptSVGMany laser cutting users share their creations on the web but not in a parametric, flexible format, preventing other users from reusing and remixing those creations. Since interoperability of model sharing is a key to widespread adoption of laser cutting, we developed an approach to allow import and modification of such external creations into a feature-rich 3D editor for laser cutting.
Published in CHI '21: Proceedings of the 2021 CHI Conference on Human Factors in Computing SystemsHandwriting Determination in Archival Documents
Image ClassificationPythonPyTorchopenCVHandwritten notes are frequently discovered in archives and hold valuable information that cannot be extracted through Optical Character Recognition (OCR) analysis of printed texts. To address this, we developed an approach for determining whether a scan of a document contains handwriting, consisting of a deep neural network that classifies whether a document contains handwriting. We tackled the lack of available annotated training data by introducing a new method for generating data.
Published in 2020 Digital Image Computing: Techniques and Applications (DICTA)Video Filters in an AR Environment
Augmented RealityiOSSwiftARKitSceneKitMetalI developed an iOS AR app that mimicked the effect found in the "Take On Me" video. In this app, you could place portals, step into the realm of the pencil drawing, explore, and interact with the portal similar to the original video.Improving the Quality of Laser Engravings
Laser CuttingPersonal FabricationPythonscikit-learnopenCVLaser engraving often suffers from limitations imposed by hardware, materials, and laser control software. These limitations result in problems such as over-burned or over-bright engravings, as well as a limited dynamic range of engravings. I developed an engraving software that, after a calibration process, converts input images into laser-optimized versions, producing perfect results on the first try.Crowd-Scale Games Directed by a Telegram Bot
Web TechnologiesPythonSQLiteTelegram Bot APII developed a Telegram bot that accompanied high school students during a self-organized summer camp. The bot provided regular updates on camp activities through official-looking press releases, a digital version of the popular group game Assassin, and a visual and collaborative code-breaking challenge. In the end, it sparked interesting group dynamics with both participants and organizers, and was even mentioned in a local newspaper covering the camp.A Talkative Bot for Managing a Choir
Context-free GrammarsUI/UXPythonTelegram Bot APII developed a Telegram bot to help with administrative tasks in our choir. Anticipating the typical robotic behavior of similar chatbots, I created a system that dynamically generated every message the bot sent.Interactive Explanation and Exploration of Large Knowledge Graphs
Graph DatabasesKnowledge DiscoveryPythonJavaneo4jDomain-specific knowledge graphs contain a wealth of information, but are often difficult to incorporate into research workflows because the tools used to explore them do not respect the domain knowledge of the users. We developed MetaExp which engages users to create a similarity measure that includes their domain knowledge and preferences. MetaExp then uses this measure during the exploration process.
Published in WWW '18: Companion Proceedings of the The Web Conference 2018Frictionless School App
Web TechnologiesUI/UXAndroid SDKJavaI developed an Android app that provided mobile access to my school's substitution schedule, which at the time was not optimized for mobile use, let alone student needs. Unlike other apps that required students to manually enter each schedule detail on their own, the app used a system where the student answered a small series of multiple-choice questions to quickly enter their schedule. This reduced the setup time from minutes to less than 30 seconds.