Skills
Programming Languages
Frameworks
Cloud Services
Databases & Tools
Projects

StockSentiment
After hearing so many stories about WallStreetBets influencing stocks, I got curious whether the community was actually good at predicting price movements. So I built a website where users enter a ticker, and the system pulls Reddit posts related to that stock, analyzes their sentiment with VADER, and compares the results against real price movements using yFinance. The dashboard visualizes how sentiment aligns with the actual stock chart and, surprisingly, revealed that the community is often wrong enough that doing the opposite might be profitable (Inverse Cramer?). The backend is hosted on Render, so the first request may take about a minute while the service spins up, but the next requests should be much faster.
Hand Tracking and Gesture Detection with AR Smart Glasses
I worked with the Digital Camera and Computer Vision Lab at NTU on a real-time hand-tracking and gesture-recognition system for AR smart glasses. The project combined Time-of-Flight depth sensors with MediaPipe to build accurate 3D hand reconstructions that could support interactive controls. I focused on optimizing the pipeline so it could process both ToF depth data and hand-landmark tracking at the same time, which raised performance from 15 FPS to 24 FPS (a 60% improvement). I also built visualization tools for hand tracking and depth data, which made debugging faster and helped guide further optimizations.

BrowserLogger
I got curious about how much a website can learn about someone without asking for anything, so I built a page that shows it all in real time. It displays every small action such as mouse position, clicks, scroll depth, keystrokes, text selections, focus changes, time on the page, and resize events, along with device and browser details like the operating system, screen size, viewport, and language settings. It also reveals network-level data such as the public IP address, rough location, coordinates, ISP, organization, referrer, current URL, timezone, local time, battery status, and cookie support. All of it comes from basic JavaScript and public APIs that run the moment the page loads.

CinemaBlend
I've always found it tricky to pick a movie or show with a friend that we'll both actually enjoy. Letterboxd lets people track and rate what they've watched, so I scraped that data and built an algorithm that looks at genres, actors, directors, IMDb ratings, release dates, and plot descriptions. Now, two people can just enter their Letterboxd usernames and get a list of movies and shows they'll both like and also haven't seen yet.

Github Vulnerability Scanner
My team and I built a web app during a hackathon that scans public GitHub repositories for vulnerabilities in code, dependencies, and executables. It uses the GitHub API to fetch repository data and Gemini-2.0 Flash to analyze potential security issues. After the hackathon, I expanded the project to improve performance by making it faster, reducing token usage, and enhancing results through a reduction in excessive context, while also improving the UI and overall user experience.

Pokernow Analytics Extension
I built a browser extension for PokerNow that provides real-time support during games. It reads the table state, calculates the odds for every possible hand I could make, and estimates how likely it is that other players are holding something stronger. It updates continuously as cards are dealt, so the numbers shift in real time and help guide decision-making. After publishing it on the Chrome Web Store, it got 800 users before getting taken down.

Platformer Game
Created a 2D platformer game using Processing.java, featuring multiple levels, custom physics, character movement, and level design. Developed interactive game mechanics, including obstacle avoidance, jumping, and collectible items. Added background music and sound effects to enhance immersion. Designed challenging gameplay with increasing difficulty to keep players engaged. Focused on smooth performance and responsive controls for an enjoyable player experience.