Brady Bhalla
Home
Projects
Resume
GitHub
LinkedIn
Email

Projects

Desmos Compiler
Dec 2023 Present
A compiler for a C-like language which runs in the Desmos graphing calculator using the "actions" feature. Currently allows for variable definitions, scoping, if statements, and while loops. Functions (and recursion) are currently in development.
Python
pytest
lark
dotfiles
Oct 2022 Present
My dotfiles for Neovim, Zsh, iTerm2, and more. These are the configurations I use for my everyday tools and are designed to work on MacOS with Homebrew. I have put the most effort by far into my Neovim setup, which is what I use for essentially all of my programming.
Zsh
Neovim
Lua
Desmosify
Dec 2022 Mar 2024
A program which turns any image into equations which can be plotted in a graphing calculator such as Desmos. The first version segmented the image into regions with the same color, extracted outlines of each region, and calculated a Fourier Series representation of the outlines which could be plotted. I later returned to this project and made a new version which computes how to overlap regions of simple colors to best match the original image.
Python
Personal Website
Mar 2024
This website you are currently viewing! My goal was to make it as minimal as possible while still looking nice. I also designed it to be reminiscent of how my text editor, Neovim, looks.
Jekyll
Tailwind CSS
Object-tracking Robot
Sep 2023 Dec 2023
A course-long project for the ME 8 (intro to robotics) class at Caltech. Working in pairs, we created a 2-DOF robot which could point a camera in any direction. It would use the image data to autonomously and smoothly track an object as it moved.
Python
OpenCV
Raspberry Pi
Non-terminal Raindrops in PySDM
Jun 2023 Aug 2023
My research project for Caltech's Summer Undergraduate Research Fellowship (SURF) during the summer of 2023. Working with the CliMA group, I researched a possible cause of non-terminal raindrops by implementing a feature into the PySDM cloud microphysics library and using it to run simulations of rain. In addition, I gave a final presentation, wrote a final report, and wrote two interim reports. This project was mentored by Professor Tapio Schneider and Emily de Jong.
Python
pytest
PySDM
Polygon Run
Apr 2023 Jun 2023
A group project for the CS 3 (software design) course at Caltech. The assignment was to create a game using C, so we made a recreation of Geometry Dash. This project included physics, particle effects, input buffering, and music.
C
Emscripten
Modified Desmos
Mar 2023 Apr 2023
A modified version of the Desmos graphing calculator which added a command palette. This allows for simple algebraic manipulation such as expansion and differentiation/integration, as well as allowing for quickly typing Greek letters.
TypeScript
Falling Sand New Tab Page
Apr 2023
A new tab page for Google Chrome which simulates falling sand when the mouse is pressed or when anything is typed into the search box.
TypeScript
Spotify Controller
Mar 2023
A web application which allows a group of people to queue songs that play on a single device. It will automatically take turns playing songs from different people and allows each individual to manage their own queue of songs. My roommates and I often use this to play songs in our dorm room.
TypeScript
Node.js
React.js
Socket.IO
Sketch-to-Fourier-Series Converter
Jan 2023 Mar 2023
A program which allows the user to draw any shape and obtain the equation of a Fourier Series representation of the drawing. This allows any drawing to be plotted in a graphing calculator such as Desmos.
TypeScript
Blockchain Capstone Project
Jan 2022 May 2022
For the computer science capstone class in high school, I created a functional blockchain from scratch in order to learn about the math behind cryptocurrencies. This included implementing the ECDSA and proof of work consensus. In addition, HTTP servers were created which communicated with each other in order to facilitate mining and transactions on the blockchain.
Python
Simulating Intelligence
Jan 2022 Apr 2022
For an open-ended project in my AP Psychology class in high school, I created a website to explain how computers are able to exhibit intelligent behavior. This website included descriptions and interactive simulations created for a variety of topics from algorithms to genetic algorithms to natural language processing.
JavaScript
p5.js
pug
Tank Troublesome
Feb 2022 Mar 2022
A clone of the game "Tank Trouble" with better collision handling. I made this because collisions in the original game always felt weird, so this project implements an efficient collision handler which always acts as expected as well as random maze generation.
JavaScript
p5.js