I’m a software engineer specializing in JavaScript & TypeScript. I’m interested in web development tooling and helping other engineers be more productive by improving their Developer Experience. I enjoy delving into low-level JavaScript concepts such as module resolution, static analysis, bundling, and AST transformations. I have expertise in a range of tools including Node.js, Rollup, Webpack, esbuild, Vite, and Vue.js.
Work + Education
Square / Block
2018-Present
As a Senior L6 Frontend SWE on the ECOM DX team, I develop tools to address common pain-points across Eng departments. I’m also the ECOM Open Source (OS) ambassador, and I encourage & drive OS contributions. Previously, on the ECOM Site Performance team, I helped optimize loading times & Lighthouse scores. On the ECOM Site Design team, I helped build a themeable Vue.js component library for our client websites.
Weebly
2015-2018
On the Design Engineering team, I helped build a Vue.js component library with 50+ components. I collaborated extensively with Engineering & Design and developed a comprehensive tooling ecosystem (style guide, recipe-book, playground, auto-upgrade command, visual regression testing). I’m proud to be recognized as a top 10% performer in the Eng department.
Boston University B.A. in Computer Science
2011-2015
Open Source
I’m a highly enthusiastic Open Source developer who dedicates personal time to maintaining around 70 projects on GitHub. Several are popular and utilized by renowned developers, projects, and companies. Last month (Oct 2024), they were downloaded 125.5 million times (48/sec). Here are some notable ones:
tsx (TypeScript Execute)
Enhanced Node.js to “just run” TypeScript & ESM code. It’s zero-config so it’s a beginner-friendly way to jump-start TypeScript development.
esbuild-loader
Webpack loader for transforming JS & CSS code using esbuild. It’s a blazing fast alternative for popular loaders such as Babel, TypeScript, and Terser.
pkgroll
Zero-config bundler for Node.js packages. It infers how to bundle the package by analyzing package.json
entry-points and dependencies. Powered by Rollup & esbuild.
Comparison of JS minifiers based on minification, compression, & speed. Often referenced when picking a minifier. The project is automated and always up-to-date.
tasuku
A minimal Node.js library for elegantly displaying the progress of tasks in the terminal. It’s unopionated and strongly typed, so it can easily enhance any CLI tool.
webpack-localize-assets-plugin
Webpack plugin for multi-locale asset i18n. Very fast because it uses string manipulation, while predecessors used ASTs. Used to localize StackOverflow.com.