About Me

Hi! I'm currently studying Computer Science at the University of Maryland.
Outside of academics, I enjoy games that challenge the mind like Chess, Go, and Tetris.
I’m also a big fan of MMA, wrestling, and basketball.
When it comes to software engineering, I genuinely enjoy most areas of the field, but I’ve found a particular interest in low-level systems and optimization.
There’s something rewarding about making programs run as efficiently as possible, especially in resource-constrained environments like embedded systems.
My first project is a performance-focused implementation of the AES encryption algorithm, based on the FIPS specification.
Written in Rust, it demonstrates my focus on both correctness and efficiency.
I used benchmarking tools and test-driven development to guide design decisions and ensure optimal performance.
This project brings together my passion for embedded systems and robotics.
It’s a hands-on demonstration of how software and hardware integration can create a responsive, real-world system.
It was a great opportunity to work with limited resources while still aiming for reliable performance.
Finally, the third project is this very website.
Built with Svelte and assembled using several component libraries, it gave me a chance to explore modern frontend development and build a clean, responsive interface to showcase my work.

My rust AES project is based on the FIPS document. I tried to focus on 3 things, idomatic code, performance, and following loosely the psuedocode.
One thing to note is that, while many architures provide machine instructions for AES, using that wouldn't really follow the psuedocode.
For this project, it was file driven I/O CLI, which puts in some restrictions and limitations on multithreading as realistically most of the speed is bound by disk reading. Despite this, I still incoporated it to the best of my abilities to speed up both computations and the I/O.

Here is a multithreaded file reader that allows prefetching of files, and does computation, while reading another file.


        for i in 0..2 {
            thread::scope(|s| {
                s.spawn(|| {
                    for j in 0..((num_files + (1 - i)) / 2) {
                        let curr_file = fs::read(&files[i + 2 * j]);
                        let mut curr_file = curr_file.unwrap();
                        /* Do decryption/encryption based on user input */
                        match (args.reverse, use_iv) {
                            (false, false) => data_encrypt(&mut curr_file, &expanded_key),
                            (false, true) => data_encrypt_iv(&mut curr_file, &expanded_key, &iv),
                            (true, false) => data_decrypt(&mut curr_file, &expanded_key),
                            (true, true) => data_decrypt_iv(&mut curr_file, &expanded_key, &iv),
                        };

                        let _ = fs::write(
                            files[i + 2 * j].to_owned() + enc_or_dec,
                            &curr_file[0..curr_file.len()],
                        );
                    }
                });
            });

This artifact focuses on my embedded/robotic endeavours.
Here I have built a robotic car, which can follow lines, based on light reflection using an LED and a sensor.
Along with that I have put together an ultra-sonic sensor that can detect obstacles based on reflected sound waves.
This comes together to form a decently responsive robotic car, which while lacking a remote to allow user input in real time, does have some real time reactions.
In terms of actual programming, this used Arduino's runtime, and as such benefitted from a lot of the provided utility and naming convention. Despite the shortcuts Arduino supplies, it is still a good learning experience, adjusting with pin I/O and reading in and interacting based on values.
(*Here ideally would be a video of it running but I don't have it on my laptop, so I would need to go back home*)

This is a self referential artifact, given the fact that is in fact this very website.
While I can highlight some code here, I think it is best to check out the github for the code.
I think this website best showcases a couple of things about my coding ability, which include flexibility and rapid iteration.
For example, I have had some minor experience with JS, HTML/CSS, but not enough to design a website, and the only real experience I had with webdev was years ago for some dummy frontend to practice python's Django.
Despite the lack of experience, in short work I have put together a reactive website using Svelte, (a framework I have had no previous experience with) and component libraries SkeletonDev and Svelte UX.
(* There is some more visualy stuff I can point out, and I intend to insert some gooey cool text from Svelte UX to demonstrate my point as this is a artifact and keep it visual *)