Skip to Content

Pursuits

On my to-do list: make this not a wall of text (I promise it's worth reading though!)

Research

I'm affiliated with the Sky Lab (previously RISE), CHAI and BAIR.

  • SkyPilot: a framework for seamlessly executing ML workloads across clouds (and a first step towards realizing the vision of sky computing)
    • SkyPilot was used to train Vicuna, an open-source chatbot impressing ChatGPT that outperforms LLaMa and Alpaca based on GPT-4 evaluation
  • Exoshuffle-Cloudsort: the world's most cost-efficient sort system, breaking the previous record on the Cloudsort benchmark at $0.97/TB
  • Exoshuffle: a new architecture for generalized, large-scale shuffle algorithms
  • Tensor Trust: a game for collecting human interpretable-attacks on LLMs, as well as the largest dataset of such attacks to date

Projects

  • socialscan: high performance async Python CLI for querying usage on online platforms; scaled to 1k stars on GitHub
  • mosaic: AR-focused social experience prototyped at a week-long hacker house
  • pong: (0/1/2)-player Pong
  • babelfish: VSCode extension that automatically translates docstrings to the user's native language
  • bluebird: web app for real-time sentiment analysis and visualization of Twitter

Previously

  • intern at
    • Citadel Securities: I led the design and development of a new architecture for sending securities over a low-latency, distributed message bus and deployed this into production systems before I left; lots of C++, networking, and system design.
    • Monad Labs: I tackled 2 main projects in distributed, low-latency systems to parallelize the EVM; 1) I implemented lazy optimizations for gossip protocols (libp2p) as part of the consensus mechanism, reducing bandwidth requirements by over 50%; 2) I created the first prototype of Monad's mempool in Rust, achieving latency improvements of up to 6x using the Tokio runtime.
    • Google : I saved tens of thousands of engineering hours and improved the efficiency of global Google Cloud networking deployments by creating a new, distributed service to identify and cluster flaky workflows; worked with C++, gRPC, and clustering algorithms.
    • Motional: I built mapping software infrastructure for self-driving vehicles deployed on Uber and Lyft; specifically, I created a new service to visualize mapping algorithms so as to allow engineers to better debug these algorithms; I also built a backend service to index and search lidar, radar, and camera data collected from vehicles, processing terabytes of data each day.
    • Bot MD: I built an AI assistant used by doctors in the fight against COVID-19 across Southeast Asia; notably, I spearheaded the design and development of a new internal task orchestration platform for the entire company called Bach; I worked across Python / Django and Go, leveraging custom Docker Compose files and AWS images for scalable deployment.
    • GovTech: I was part of the team that built a new web application called OneCV used to streamline the delivery of social services to the underprivileged across Singapore; I was involved in the entire process, from user research and requirements gathering to design and development.
  • director at Cal Hacks, the world's largest collegiate hackathon, creating spaces for hackers across Berkeley
  • researcher at the Roland Henry Lab, developing software for visualization of the human brain to treat neurodegenerative disorders
  • mentor for Google's Summer of Code and Code-in programmes, guiding university and high school students in the world of open-source software
  • led open-source 3D graphics projects at The Terasology Foundation

Previously^2

Thoughts & Beliefs

(Last updated: Late 2022)

  • As we approach the limits of data to train AI models on, what insight do we need to be make to continue to scale the performance of these models? At a systems level, what can be done to efficiently train and serve these new models at civilization scale? Is it possible to derive a deeper meaning for popular model architectures beyond "divine benevolence"?
  • I believe in the fundamental value of decentralization and blockchains as a platform for decentralized computation. However, at a technical level, what can be done to sufficiently scale up execution while still maintaining decentralization? What primitives and interfaces can be developed to make decentralized computation more accessible? Beyond decentralization, I think that the killer feature of blockchains is atomic composability - how can we make it easier for developers to discover and compose existing protocols for new applications?
  • "News is to the mind what sugar is to the body
  • Borges: Nothing is built on stone; all is built on sand, but we must build as if the sand were stone.

Miscellany

  • I love musicals - current favorite: Wicked!
  • I also love food. If CS wasn't so fun, I might have been a professional foodie.
  • I own i.o@berkeley.edu.
  • I'm the proud recipient of 2 "Famous Question" gold medals on Stack Overflow (looking at these questions are both embarrassing and a reminder of how far I've come :') ).
  • Press: 1, 2, 3