I'm a Computer Science student at UC Berkeley, actively seeking Software Engineering internship roles for Summer 2025.
I am passionate about creative problem-solving, analyzing patterns, and tackling complex challenges.
My strength comes from my persistance and my defiance towards failure.
There is still a lot for me to learn and I am eagerly taking on new challenges. As I continue my journey in tech,
I hope to collaborate with others who have my same drive and intellectual curiosity.
Using C and x86 assembly, I implemented various functionality into the Pintos OS originally developed by Stanford. For User Programs, the OS now supports command-line arguments, process control syscalls, file operation syscalls, and floating point operations. I also implemented threads for User Programs that have the same functionality as kernel threads, including thread creation, waiting, and exiting. A priority scheduler featuring priority donation was also implemented to enable preemptive scheduling of threads.
Created a secure file storage and sharing server using Google's UUID and DataStore packages in GO. The server allows users to create accounts, login to multiple devices, upload files, and share files with other users. All updates to files are updated instantly for all users with access to the file. The server also supports file versioning and file encryption. Public and private RSA keys are used for encrypting, decrypting, signing and verifying files during file shares. Files are securely stored in the server using an encrypt then MAC scheme which prevents tampering without evidence. Revoking users is also allowed after sharing so that revoked users will no longer be able to access files shared with them or learn about any updates to the files.
Developed a Chromium Overlay Extension for pokernow.com using Python, JavaScript, CSS and HTML. Goal is to help players determine game theory optimality of plays. Using a standard PreFlop chart and blind sizes, the extension calculates the optimal first action based on the player's hand and position. Realistically, postflop play is too expensive and complex to calculate in real time even with the best of computers, so the extension only calculates the optimal first action. To make up for the lack of GTO postflop calulations, the extension also keeps tracks of shown hands by opponents and dynamically updates the player's hand range. This allows the player to make more informed decisions based on the hands that have been shown. The extension also displays the chances of getting certain hands (straight, flush, etc...) as well as expected values (EV) based on draws and the pot size.
Created an automated trading bot using Coinbase's API and Python. This bot exclusively trades low market cap coins since I do not have the computational power to compete with market makers and other high frequency traders. The bot uses a simple moving average (SMA) strategy to determine when to buy and sell. This means that the detection of a large buy order of a correlated coin will trigger a buy order of other coins in the same market. The bot also uses a stop loss to prevent large losses in case of a market crash. The bot is currently running on my home PC and has made decent profits since it was deployed.
A procedurally generated sperlunking game featuring a suspicious protaganist. Collect coins to get to the next level!