Open-Source Projects

arXiv Xplorer

arXiv Xplorer

The Semantic Search Engine for arXiv.

ArXiv Xplorer is a semantic search website for papers on arXiv. It uses OpenAI's embeddings API to embed papers and queries, returning results that are semantically similar. It gets about 10000 visitors per month.

Built with
Python
OpenAI
JavaScript
Scroll Xplorer

Scroll Xplorer

Scroll an infinite feed of papers.

Scroll through a personalized feed of arXiv, biorXiv, and medrXiv papers. Uses embeddings to suggest similar papers tailored to your preferences.

Built with
Python
OpenAI
JavaScript
Interpreting Deep Neural Networks

Interpreting Deep Neural Networks

Applying Interpretation Methods to Understand and Improve CNNs

Understanding why neural networks make certain predictions is a difficult job considering the sheer number of highly non-linear interactions between neurons. In this work, I explore several interpretation methods that can shine light onto why a network does what it does. In particular, I apply this to a medical task (diagnosing diabetic retinopathy) with the hope of improving understanding of neural network models used in the medical field.

Built with
Python
Jupyter
PyTorch
RL Procgen Challenge

RL Procgen Challenge

Placed 4/704 participants generalising to procedurally generated environments.

Reinforcement learning algorithms tend to require extensive amounts of experience in order to learn in a particular environment. Additionally, they tend to memorize particular environments, like a platformer level, in order to succeed. The Procgen benchmark challenges participants to improve on generalisation and sample efficiency over several procedurally generated tasks. In this challenge, I achieved 4th place out of 704 participants in generalisation and 9th in sample efficiency, with a mean normalized reward of 0.72 across environments. Read the PMLR workshop paper here.

Built with
Python
Amazon Web Services
TensorFlow
Watch and Learn Hackathon 1st Place

Watch and Learn Hackathon 1st Place

Multimodal AI for lab protocols and automation.

Winner of Bio-AI hackathon hosted by Entrepreneur First for building a multi-modal LLM lab assistant capable of standardizing protocols and automation.

Built with
Python
OpenAI
JavaScript
Mined for Change

Mined for Change

A website allowing in-browser cryptocurrency mining for Effective Altruism.

Mined for change is a website that allows users to mine cryptocurrency in their browser. The funds generated by the mining are automatically directed to the Effective Altruism Foundation's top rated charity - the Against Malaria Foundation. Users do not have to pull out a credit card to give and can give at any time of the day. Together with thousands of other people, this method could raise thousands of extra dollars for charity.

Built with
Monero
Amazon Web Services
JavaScript
HTML5
Bootstrap
NGINX
NAND2Tetris

NAND2Tetris

Building a Computer From NAND Gates

NAND2Tetris is an online course that goes through building a basic computer from scratch using NAND gates. In the first half, the hardware components (logic gates, memory, ALU, CPU) are built using a hardware description language. In the second half, the software (assembler, translator, VM, compiler, OS) is created, culminating in writing an application for the computer (I wrote Game of Life.)

APTOS Kaggle Competition

APTOS Kaggle Competition

Diagnosing Diabetic Retinopathy using ML

In this Kaggle competition the challenge was to diagnose diabetic retinopathy on a scale from 1-5. The challenge was particularly difficult due to the variation in the dataset and the subtlety in the diagnoses (including incorrect diagnoses). In this challenge, I trained an ensemble of EfficientNets on both the classification and regression objectives to achieve 63rd place out of 2931 participants.

Built with
Python
Jupyter
Kaggle
PyTorch
sliceofpy

sliceofpy

Model Slicing for 3D Printing

sliceofpy is a command line 3D object slicer. The slicer converts input .obj files into output Gcode files by slicing the 3D model into layers. The Gcode files can be executed on a 3D printer to print the objects. The slicer is configurable by several command line arguments or it can be imported as a script.

Built with
Python