My Work
Projects & Creations
A showcase of personal and professional projects spanning web development, machine learning, and embedded systems.
AutoSec
- Contributing to an agentic security pipeline that autonomously detects, exploits, patches, and verifies software vulnerabilities using LLMs.
- Primary owner of end-to-end pipeline runs across 120 Java projects from CWE-Bench-Java, producing the scans, exploits, and patches behind the paper's evaluation.
- Improved pipeline reliability to run unattended across the full 120-project benchmark by adding graceful fallback that reuses cached scan results and runs fresh analysis otherwise, eliminating prior startup failures.
- Documenting the work as a formal research manuscript intended for submission to the ACM Conference on Computer and Communications Security (CCS), emphasizing system reliability, verification, and auditability.
PythonJavaLangGraphLLM AgentsCodeQLStatic Analysis
Goblin's Keep
- Led backend development of a 2D tile-based escape game by architecting game logic and AI systems, coordinating code reviews and integration across a team of developers.
- Implemented dynamic goblin AI using a modified A* pathfinding algorithm with randomized patrol logic, enhancing difficulty balance and replayability.
- Refactored core classes (MapGenerator, CollisionChecker, Entity) to eliminate God classes and duplicated code, improving long-term maintainability following OOP best practices.
- Engineered a unit and integration testing suite with JUnit and Mockito, achieving 96% line coverage and 92% branch coverage to ensure correctness across all gameplay interactions.
JavaMavenJUnitMockito
SFU DSSS ML Hackathon - 1st Place
- Won the first ML Hackathon hosted by the SFU Data Science Student Society by building a multi-class fraud detection pipeline for fraud detection.
- Designed a validation and cleaning pipeline enforcing consistent data types and value ranges, applying constraint-based reasoning to flag real-world transaction impossibilities.
- Engineered three predictive features: balance mismatch flag, balance difference (after minus before), and balance error (amount minus balance difference) to expose accounting inconsistencies for the model.
- Trained a class-weighted Random Forest over a logistic regression baseline, tuning number of trees, max depth, and minimum samples against Macro F1 to improve recall on rare minority fraud classes.
PythonScikit-learnPandasNumPy