Deeper Dive
My project was a JavaScript software library called FFlate that enables web developers to compress and decompress data as quickly and effectively as possible. It is the fastest and smallest compression library available in web browsers, and as compression optimization is needed in a plethora of applications (compressed uploads, ZIP/PNG/PDF file processing, Microsoft Office compatibility, etc.), FFlate accelerates website performance and load times worldwide. I initially developed FFlate to optimize one of my personal projects, a level viewer for the video game “Geometry Dash”. Once I realized that my implementation was the fastest one in JavaScript, I made it available freely online, and it quickly became popular in the open source community. Today, it has reached over 60 million downloads and 1,300 GitHub stars.
I faced many challenges throughout the development of FFlate, including my lack of experience in data compression and an accident that caused me to lose a significant amount of progress; however, I ultimately persevered by teaching myself new concepts in information theory and finished the first version of FFlate on my own. While I created FFlate without any external help, I would never have had the opportunity to explore computer science as a hobby without the endless support of my parents. I am also extremely thankful for my CS teacher and the open source community, especially the developer of SheetJS, who encouraged me to continue maintaining the project and supported my work within the larger community. I was fortunate to have minimal issues in creating my project despite the COVID-19 lockdown.
I anticipate that FFlate will continue to improve the web for many years to come. FFlate is especially impactful in developing regions, where its smaller size and greater efficiency than prior alternatives make a major difference in digital data access and website accessibility. For example, several hospitals use FFlate to reduce the time and bandwidth needed to access medical files. I also hope that the novel techniques I developed for FFlate, such as my recursive decompiler that regenerates JavaScript source code at runtime, will be borrowed by other open source developers to make their own tools and libraries faster.