Akarsh Kumar

Basketball-RL

  • Developed a custom differentiable 2-D basketball reinforcement learning environment.

  • End-to-end trained RNN agent to maximize reward.

NBA-3D

  • Reconstructed NBA players as 3D stick figures given multiple RGB videos of the scene.

  • Estimated camera pose using a differentiable renderer matching synthetic views and real views of the court.

  • Won best project Image Processing class.

  • visual presentation

Audio Source Separation with GANs

  • Developed a U-Net CNN as a GAN to distinguish noisy and noiseless spectrograms.

  • Used GAN as a loss function for spectrogram segmentation network.

  • blog

Reimplementing Neuroevolution of Augmenting Topologies

  • Implemented NEAT (I was inspired this video).

  • Defined fitness of a neural controller in custom FlappyBird and CartPole environments.

  • code (from scratch in Java)

Reimplementing AlphaZero

  • Implemented AlphaZero in PyTorch for Connect4.

Implementing Dense NN for MNIST

alt text 
  • Developed a dense neural network to classify MNIST dataset.

  • Reached 97% accuracy on the test set.

  • Developed a visualization of the neural network activations, weights, and classification (left image).

  • code (from scratch in Java)

BetterKey

  • Developed a Genetic Algorithm to optimize keyboard layouts to reduce probability of typos.

  • Fitness defined as the (negative) number of pairs of words in English that are orthographic neighbours and physical neighbours on the keyboard.

  • code (from scratch in Java)

  • blog

Computer Algebra System and Graphing Calculator

alt text 
  • Developed a computer algebra system to parse mathematical text into a logic tree.

  • Manipulated expressions to simplify, compute, and calculate derivatives.

  • Developed a graphing calculator to render 1-D functions.

  • Utilized multi-threading to acheive mouse dragging, zooming, and markable points.

  • code (from scratch in Java)

BEVO

  • Used speech-to-text and CV object detection models to assist blind people in finding everyday objects.

  • blog

Code-Viz

  • Parsed and visualized a Python codebase in a directed graph of class/method dependencies.

Strategic Anomalies

alt text 
  • Revived the popular strategy board game Tactics Area Online.

  • Implemented multiple unique characters with unique abilities, on-hit effects, and long-lasting effects.

  • Utilized multithreading, file IO, Java Swing, server-client paradigm.

  • code (from scratch in Java)

Computer Programming 3 and Graphics Programming

Computer Programming 3

Graphics Programming

Free Geek Volunteering

alt text 
  • Developed software for tracking volunteers’ hours for a nonprofit company (used in production for 3 years)

  • Allowed admin access and export of statistics and reports.

  • code (from scratch in Java)

Valentine's MatchMaker

alt text 
  • Developed a Valentine's day match maker program to match people based similarity of quessionaries.

  • Used at scale for students in Fayetteville High School.

  • Algorithm was based on a fair model where most unique candidates had priority.

  • code (from scratch in Java)

Chess

alt text 
  • Developed a chess program and a basic minimax AI.

  • code (from scratch in Java)

Physics Simulation

  • Developed a rigid body physics simulation to test theories on magnet behavior.

OpenGL

  • Developed a C++ library on top of OpenGL to mimic the capabilities of Java Swing.

  • Supported windowing, rendering custom shapes, images, and hierarchical pane layouts (like gridlayout).

  • code (from scratch in C)

Chat Service

  • Developed client-server paradigm chat platform capable of sending texts, images, and files in iMessage style GUI.

  • Won best project in Software Design II class.

Embedded Systems First Person Shooter

  • Developed a first person shooter for an embedded system inspired by Call of Duty Zombies: Kino der Toten.

  • Move, aim, and shoot the zombies as they spawn in rounds.

  • Zombies drop ammunition when killed, and you need to go pickup the ammunition to shoot.

  • Originally used ray tracing for rendering, but this was too slow for the embedded system.

  • Opted for a simpler but faster rasterization method.

  • Won best project in Embedded Systems class.

  • code (from scratch in C)

iOS Apps

  • I made an instagram clone, twitter client, movie browser, and a tip calculator.

  • code (Swift): twitter instagram tip