Projects

Publications

Below are some of the internal assessments that I submitted to IB as a part of the requirements to receive my diploma.

Higher Level Math IA

Higher Level Physics IA

Standard Level Chemistry IA

Computer Science Projects

Some projects from classes at Berkeley are listed below. To comply with university rules, my code is not linked below (links are to project specs).

PathLess

PathLess

This web app displays a randomly generated route given a user's location and a distance to assist in keeping active. It features the Mapbox Distance and Geocoding APIs, Turf.js, Navigation module, trip instructions, and an about page with instructions, FAQ, and more.

Personal Project

React

Mapbox

Typescript

MDSpotify

MDSpotify

As an instructor, this was the app I built live in weekly demos. It features a fully functioning music player, with a backend built with Node.js, Express, and SQLite3, and a frontend built with React Native and Expo.

MDB

React Native

Typescript

Express.js

Node.js

SQL

TouchBase

TouchBase

This web app is a peer to peer browser based video calling application. It allows users to connect to each other and share their video and audio. It also allows users to chat with each other.

Personal Project

React

Typescript

Predicting Quarter Mile Times (ML)

Predicting Quarter Mile Times (ML)

This machine learning project and paper uses a variety of techniques, such as Linear Regression, Lasso, Bayesian Ridge, Elastic Net CV, PCA, Feature Engineering, and more to predict a vehicle's quarter mile time using its horsepower and weight.

Personal Project

ML

Python

Triangulation Algorithm

Triangulation Algorithm

Inspired by an episode of the TV show Arrow, this algorithm takes three points, the time it takes to get to each of those points from an unknown starting location, and then calculates that location by using Apollonian circles and iteration with ease and efficiency.

Personal Project

Python

Battleship Algorithm

Battleship Algorithm

This algorithm builds a battleship game using object-oriented programming while using a series of random and then strategic guessing in numerous layers to sink all of the ships given by the user on a board size custom to the user's preferences.

Personal Project

Python

Avoidance Ball

Avoidance Ball

This program uses PyGame to create a game where the user controls a ball to avoid randomly generating (and continually regenerating) squares with the objective of hitting as many green ones as possible while avoiding the red ones.

Personal Project

Python

Gitlet

Gitlet

I made a version-control system implementing the commands of Git (add, commit, merge, remote push/pull, etc.).

Berkeley

CS61B

Java

CS61CPU

CS61CPU

I built a CPU that runs actual RISC-V instructions.

Berkeley

CS61C

Logisim

NumC

NumC

I optimized a version of numpy written in C using data parallelism, threading, loop unrolling, and other optimization techniques.

Berkeley

CS61C

C

CS 61A Autocorrected Typing Software

CS 61A Autocorrected Typing Software

I made a program to measure typing speed. It also uses Levenshtein distance to implement autocorrect. This is similar to Typeracer.

Berkeley

CS61A

Python

Scheme Interpreter

Scheme Interpreter

I made an interpreter for a subset of the Scheme language, a functional programming language that parsed, built symbol trees, and evaluated expressions in python.

Berkeley

CS61A

Python

2048

2048

I implemented the core logic of the game 2048, allowing users to play the game in a GUI

Berkeley

CS61B

Java

nat-ssa.org

nat-ssa.org

I designed this for National Student Speakers Association, registered 501(c)(3) nonprofit, incorporating responsive design to the viewport, Google analytics, mobile-adaptive styling, animations using GSAP 3, interactivity, and more while learning about the basics of building a website - discovering how to fix 301 and 405 errors, issuing SSL certificates, and more.

Personal Project

aniruthn.com

aniruthn.com

I built this website as a personal website to centralize my information beyond my resume as well as establish a web presence. It utilizes javascript animations based on scroll, responsive design to the viewport, Google analytics, mobile-adaptive styling, interactivity, and more.

Personal Project

React

Typescript

All content and documents on this website are the property of Aniruth Narayanan. Usage, modification, or distribution in any form, even non-commercial, requires explicit prior written approval from Aniruth Narayanan. This is solely intended for viewing purposes only. Please contact me if you have any questions, comments, or concerns or if you need a document without the watermarks.