Hershraj Niranjani
Profile Photo

Hershraj Niranjani

Researcher | Student | Tutor

hershraj@berkeley.edu

About Me

Hi there! My name is Hershraj, but my friends call me Hersh. I'm a 19-year-old college student who will work on just about anything that interests me---no matter the subject. Academically, this has led me to work on projects in program synthesis, control, machine learning, neuroscience, algorithms, and quantum computing. I have had numerous internships in both software engineering and research. Outside of the academics, come find me at Mosaic where I try to climb at least twice a week, building keyboards, reviewing pizza, playing board games, teaching, watching anime, and grinding video games.

I am currently wrapping up my undergrad at UC Berkeley with a degree in EECS. Afterwards, I plan on pursuing a postbaccalaureate research role or graduate school.

If you have any questions, ideas, or are interested in having a nice chat, I am available via email or LinkedIn.

Projects

ThrowdownTV

DreamPy

Wake-sleep Bayesian Learning, Python, Machine Learning

Dreampy is a work-in-progress python rewrite of the Dreamcoder framework. Progress is slow at the moment since I am swamped by my research work, but I'll provide updates as it goes along.

Throwdown

ThrowdownTV

RTMP, Software Engineering, React, Express, MongoDB

ThrowdownTV is a live-streaming site that I helped build alongside some friends in India. It features low-latency live video streaming, video uploading, account management, and an interactive chat.

Formify

Formify

Machine Learning, Computer Vision, Signal Processing

Formify is a tool I developed alongside Albert Qu during my time at the Wilbrecht Lab. It was made to automatically convert photos of data tables into highly accurate CSV files.

Research

My current work at BAIR is at the intersection of program synthesis, interpretable machine learning, and reinforcement learning. I am extremely fortunate to currently be advised by Matteo Guarrera. Right now, we are utilizing LLM-guided program synthesis on a variety of applications, from control of dynamical systems to exploring large graph-grammar design spaces. Prior to this project, I was working on physics-informed neural networks for approximating solutions to partial differential equations.

My previous research experience was at the Wilbrecht Lab at UC Berkeley, where I was investigating mechanisms of neural cost computation during decision making.

My group is not currently looking for any new students, so please don't reach out regarding specific research opportunities --- although, I am happy to provide general advice.

Teaching

Teaching is one of my favorite hobbies. My teaching philosophy centers on clarity, engagement, interactivity, informality, and prioritizing first principles.

My experiences include being a CSM Mentor for both CS 61A and CS 70, as well as being an Academic Intern for CS 61A. Previously, I was a private tutor for CS 61A, CS 61B, CS 70, and CS 170. I have also tutored in mathematics, physics, and computer science at my high school, The High School at Moorpark College.

I no longer do paid private tutoring, unless the circumstances are exceptional.

Coursework

Below is a summary of the courses I have completed. Hover over the stars for my thoughts on the course.
Courses that are currently in progress or non-academic are labelled with N/A.