Projects
Jarvis.js Virtual Assistant System
Open-source virtual assistant, similar to Siri, Alexa, and Google Assistant, that can answer questions and execute various commands. Powered by Node.js, it features voice activation, AI-based intent classification with natural language processing, and a modular, extensible skill system.
Tech stack: Node.js, TensorFlow, Python
GitHub (Back-End) (opens in a new tab) | GitHub (Front-End) (opens in a new tab)
Parallel Heavy-Light Decomposition
Designed and implemented a parallelization of the heavy-light decomposition algorithm, which uses the segment tree data structure to efficient perform range queries on trees. Parallel algorithm uses the so-called Euler Tour Technique to find heavy chains.
Tech stack: C++, parlaylib
Email me for codeMeta Threads Clone (Next.js)
Functional clone of the popular app, implementing social login, posting, replying, user profiles, and more, deployed on Vercel. Leverages Next.js 13’s super cool abilities (server-side rendering, App Router) for an ultra-responsive user experience.
Tech stack: Next.js, React, TypeScript, MongoDB
Live (opens in a new tab) | GitHub (opens in a new tab)
AI Pacman
Implemented a various AI algorithms to solve Pacman (either for Pacman or for the ghosts). Algorithms include DFS, BFS, uniform-cost, A-star, multiagent minimax / expectimax, reinforcement learning, and hidden Markov models.
Tech stack: Python
Email me for codeRaven for BCPS One
Mobile app built with React Native for students and parents to access their school accounts, course material, announcements, grades, calendar, and more. Attained thousands of active users during its peak -- but is unfortunately retired now, since my internship with BCPS is over.
Tech stack: React Native, Swift, Kotlin
Article (opens in a new tab) | App Store archive (opens in a new tab) | Google Play archive (opens in a new tab)
Roving Vehicle Simulator
Mars rover simulation program, inspired by online game Cubefield, built using the Unity game engine. Used in research project/publication by the Space Systems Lab at UMD.
Tech stack: Unity3D, C#, C++
snotify (read s-notify, not snot-ify)
C program that sends text messages and email alerts to users of supercomputing clusters (like UMD's Deepthought2) when their slurm jobs finish running.
Tech stack: C, Bash
campus-maps
Geographic social platform for college students to post and share cool locations and events on campus, Implements common social features like liking, commenting, following, and sending direct messages (WIP -- incomplete because of school 🙃).
Tech stack: React, Redux, Firebase
GitHub 1 | GitHub 2 (opens in a new tab)
Keepora
Open-source note-taking app inspired by Google Keep and Typora, allowing users to write in WYSIWYG markdown using easy hotkeys (abandoned since I started using Notion).
GitHub 1 (opens in a new tab) | GitHub 2 (opens in a new tab)
Tech stack: Electron, React
MPI Game of Life
Parallel implementation of John Conway's Game of Life, tested on 4, 8, and 16 processes for correctness and parallel speedup. Devised algorithm to divide data and perform efficient computation and communication across HPC nodes using the MPI framework. Used Valgrind and GDB to debug the C++ code and eliminate memory leaks.
Tech stack: C++, MPI
Email me for codeRacket Compiler
Built a complete parser and x86-assembly compiler for Racket, a functional programming language in the Lisp family. Includes pretty cool programming paradigms. Made sure that compiled assembly code is twice as fast as equivalent Python code.
Tech stack: Racket, C, Python
Email me for codeQuake Heap
Implemented an interesting data structure called the Quake Heap in Java, ensuring that it consistently outperforms its well-known cousin, the Fibonacci Heap.
Tech stack: Java
Email me for code