Projects

This is a collection of projects (both personal and professional) that I've built from 0 to 1.

zoogle

2025
TypeScriptNext.jsTailwind CSSshadcn/uiTanStack QueryTanStack TablePolarsPlaywrightZodAmazon S3
zoogleZoogle is a web application for exploring a protein similarity dataset that aims to predict the best model organism for a given human gene (and vice versa). The raw dataset is comprised of 9,260 orthogroups, and processing it required a certain amount of phylogenetic context and expertise.In less than 30 days, I built and shipped this lightweight portal to make the dataset accessible to the public, as well as Arcadia's external collaborators.Instead of using a database, the app fetches and caches pre-queried data hosted in Amazon S3. It also uses the browser's local storage to cache 100,000+ gene names (about ~1 MB compressed) to make gene search nearly instant.You can read more about Zoogle on the Arcadia Science blog.

PythonPlotlyDashBootstrap CSSPandasSQLAlchemySlack API
rapid-qc-msRapid QC-MS is a bioinformatics tool that automates monitoring and quality control for mass spectrometry instrument runs. It started out as a modest Python script used to generate plots, but my team at Chan Zuckerberg quickly realized that a more robust solution could streamline QC for the hundreds of samples we were analyzing.Once a job is created, the app begins monitoring the data directory and waits for each sample to finish acquiring before processing the data. It then updates the interactive dashboard with fresh plots, giving you an overview of QC metrics for the whole run, plus detailed reports for each sample. If there are any issues, it'll even send you a notification via Slack so you can run back to the lab and take action.Like many bioinformatics tools, development seems to have been discontinued, but if you're interested, you can check out the docs or read the paper published in Analytical Chemistry.

PythonPlotlyDashBootstrap CSSPandasSQLAlchemy
clusterbaseThis project was also born at CZ Biohub. The central idea was to cluster mass spectra for the same metabolites from different studies. These clusters could then potentially be used to identify unknown metabolites in future studies.However, without a way to query and visualize the data, it was difficult to share results and have meaningful discussions with the rest of the team.To address this, I built the frontend for Clusterbase in less than a week, implementing relevant filters and useful visualizations for our data. This enabled our team to explore and validate the clusters generated by the backend, creating a feedback loop that helped improve the clustering algorithm over time.Many other labs were exploring this idea and one beat us to the punch, so we never got around to publishing this project. Nonetheless, it was a fun exercise in iterating quickly to meet user needs.

SwiftiOS SDKGoogle Firebase
chemcalcChemCalc is an all-in-one calculator and reference guide for general chemistry students that I built in my freshman year of college. At its height, it had over 65,000+ downloads on the App Store.At the time, I was a tutor for general chemistry at college, and many of the students were struggling with stoichiometry and equilibrium calculations. Like me, they were often flipping to the back of their textbook to look up thermodynamic constants for reactants in their problems.I realized that there weren't any existing resources available, so I built ChemCalc to help them out. It was a simple app that allowed them to calculate molar mass, balance equations, solve a variety of classic chemistry problems, and look up various constants from our textbook.I probably should have just created an API, but I was super interested in iOS development at the time and thought it'd be a good way to get my hands dirty with the SDK.ChemCalc isn't available on the App Store anymore since I stopped paying for the Apple Developer license, but you can check out this archive of the app listing.

Open source contributions

These are some open source projects that I've contributed to.

PythonTypeScriptReactTailwind CSSZod
marimomarimo is an open-source reactive notebook for Python that's reproducible, and git-friendly with SQL built in. I discovered it from a Hacker News post when it launched in January 2024 and became somewhat obsessed ever since.I merged my first PR for the project in March 2024, and continued contributing small quality-of-life features ever since, such as the file browser component and multi-column layout.The backend server is written in Python and the frontend in TypeScript, which makes for good exercise. It's also super refreshing to experience how welcoming the community is and how excited they are about the product.The project recently raised a $5M seed while simultaneously surpassing Jupyter in GitHub stars. If you're still using Jupyter notebooks, I'd highly recommend checking it out.