Hi, welcome to my personal page! 🎉

I am a Master Student in the Paul G. Allen School of Computer Science and Engineering at the University of Washington. I work as a research assistant in the UW Interactive Data Lab. I am interested in Data Visualization and Machine Learning. My research explore efficient methods to layout labels (annotations) of data points in charts. I contribute to existing research projects including Vega and Vega-Lite. Concurrently, I also work as a teaching assistant for Computer Science classes at the University of Washington.

I graduated with Bachelor of Science in Computer Science from the University of Washington in 2020. I have worked in DocuSign and OctoML during summers as a Software Engineering Intern. Aside from academic works, I was a volunteered officer of Thai Students Association, coordinating social events and meetups for Thai students in the University of Washington.


Fast and Flexible Overlap Detection for Chart Labeling with Occupancy Bitmap

Developed an algorithm to layout labels in visualization. The algorithm is generalizable to different types of visualization and optimized for the responsiveness of interactive visualizations.

Projects and Contributions

Vega-Lite (contribution)

A high-level grammar of interactive graphics, providing an easy-to-use toolkit for creating visualizations.


A fast labeling algorithm to layout labels annotating data points in charts. Now is a part of Vega.

1-Handed Braille Keyboard

An Android keyboard for typing Braille with haptic-feedback simulating raised dots.


A tool with GUI for laying out multiple views of Vega-Lite charts, supporting layer, concat, repeat, and facet.

Pokemon Go Forecast

A web application that predicts weather in Pokemon Go for players to maximize game rewards.


Vim/Neovim configuration file for TypeScript/Web Developments with IntelliSense like in VSCode.

Working Experiences

  • Software Engineering Intern

    OctoML Inc.

    Design and create visualization for deep-learning models and their performance using D3/TypeScript. The visualization is a part of optimizer tool (Octomizer) that optimizes deep-learning models compiled by TVM and measures their performances.

  • Teaching Assistant

    Paul G. Allen School of Computer Science and Engineering

    Teaching CSE331 (Software Design and Implementation) and CSE442 (Data Visualization). Teaches supplemental materials in quiz section. Grade students' assignments. And, hold office hours for answering questions related to the class.

  • Research Assistant

    Interactive Data Lab

    Contributing to Vega and Vega-Lite project; both are toolkits for creating visualizations. In Vega, I added support for automated labeling data points in charts. In Vega-Lite, I added support for visualizing data with error bar or error band chart.

  • Software Engineering Intern

    DocuSign Inc.

    Contributing to designing and developing a data lake platform that extracts, sanitizes, and stores users'/internal usage data into Amazon Web Service S3. Then, Data Scientist can query the data to perform analytics.