Projects
Publications
Below are some of the internal assessments that I submitted to IB as a part of the requirements to receive my diploma.
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
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
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
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)
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
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
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
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
I made a version-control system implementing the commands of Git (add, commit, merge, remote push/pull, etc.).
Berkeley
CS61B
Java
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
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
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
I implemented the core logic of the game 2048, allowing users to play the game in a GUI
Berkeley
CS61B
Java
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
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.