About Me
Welcome to my page. I am a Year 2 student at the National University of Singapore (NUS), majoring in Computer
Science.
I mainly work with Java and have built a solid foundation in OOP and algorithms through coursework and projects.
Outside class, I enjoy exploring interactive media and game/graphics development (OpenGL).
Lately, I’ve also been diving into AI and LLMs — most recently building a RAG-based NetEase Cloud Music AI agent
backend demo,
and experimenting with a multimodal hybrid model at TikTok TechJam 2025.
Education
National University of Singapore
Bachelor of Computing in Computer Science
Awards: NUS Science and Technology Undergraduate Scholarship (2024-2028)
Expected Graduation Date: June 2028
Academic Courses:
- MA1522 Linear Algebra
- ST2334 Probability and Statistics
- CS1231S Discrete Mathematics
- CS2030S Programming Methodology II (Object-Oriented Programming in Java)
- CS2040S Data Structures and Algorithms
- CS2100 Computer Organisation
- CS2109S Introduction to AI and Machine Learning
- CS2103T Software Engineering
- CS3240 Interaction Design
- CS3241 Computer Graphics
- CS3242 3D Modelling and Animation
- NM3243 User Experience Design
Skills
Programming Languages
- Proficient: Java
- Working knowledge: Python, JavaScript, HTML/CSS
- Basic: C, C++
Backend Development & APIs
- Proficient: Spring Boot, RESTful API design and implementation
- Working knowledge: Spring JPA; Maven (dependency management, build & packaging); Swagger/OpenAPI (API
documentation & testing); OkHttp (HTTP client integration)
Data & Storage
- Working knowledge: MySQL (basic schema & CRUD), H2 (local dev/demo), Redis (cache integration &
basic operations)
Engineering & DevOps
- Working knowledge: Docker & docker-compose (one-command dependencies with volumes and healthchecks);
Spring Profiles (dev/prod separation); Git and GitHub
- Familiar: Reproducible setup and graceful degradation concepts (configuration layering, environment
variables, README-aligned setup)
AI & Machine Learning
- LLM & RAG:
- Working knowledge: RAG pipeline integration; OpenAI-compatible APIs (e.g., DashScope); prompt
engineering and output control (ChatGPT, Qwen)
- Basic: FAISS (vector indexing and similarity retrieval)
- Multimodal & NLP:
- Working knowledge: BERT/FastBERT (text classification/filtering); CLIP (multimodal
representation/validation)
- Basic: PyTorch; Transformers (inference and experimentation workflow)
- Familiar: vLLM (inference serving exploration)
Graphics & Interactive Media
- Familiar: OpenGL, JavaFX (coursework/project experience); Blender (3D modeling); Figma, Miro (design &
prototyping)
Documentation & Productivity Tools
- Proficient: Git, GitHub, Markdown
- Working knowledge: Mermaid (diagrams); JetBrains IDEs; Microsoft Office (Word/PowerPoint/Excel); Aseprite
(pixel art)
Experiences
NetEase Cloud Music Intelligent Customer Support Agent (Minimal RAG)
Description: A minimal RAG-based customer support agent backend that integrates retrieval,
guarded prompting, and reproducible local deployment.
Highlights:
- Implemented RESTful endpoints with Swagger/OpenAPI for rapid testing and demo recording.
- Built a dev/prod configuration split using Spring Profiles (dev with H2; prod with MySQL + Redis).
- Added a Redis cache with TTL and graceful fallback, keeping the main request path available even when Redis
is down.
- Containerized dependencies via docker-compose (MySQL + Redis with volumes and healthchecks) for one-command
local setup.
- Maintained an architecture-first README (Mermaid diagrams and startup steps) aligned with the
implementation.
Project Link: NetEase-music-agent-backend-demo
Duration: Dec 2025 - Jan 2026
Tech Stack: Java | Spring Boot | Spring Data JPA | Maven | H2 | MySQL | Redis | Docker Compose
| Swagger/OpenAPI | OkHttp | OpenAI-compatible LLM API
Harmonia: Hierarchical Multimodal Hybrid Review Validation with RAG
Description: A hierarchical review filtering system using AI models we trained, routing
requests
across fast and accurate stages to separate genuine feedback from spam at scale.
Highlights:
- Designed a multi-stage pipeline: rule-based preprocessing → fast classifier routing → multimodal validation
→ RAG-backed final verification.
- Trained and evaluated text classification models (e.g., FastBERT/BERT-family) and integrated
confidence-based routing to balance latency and accuracy.
- Incorporated multimodal signals (e.g., CLIP) to handle cases where text-only signals are insufficient.
- Supported both single-review and batch processing workflows for practical experimentation and benchmarking.
Project Link: Harmonia
Duration: Aug 2025 - Sep 2025
Tech Stack: Python | PyTorch | Transformers | FastBERT/BERT-family | CLIP | FAISS | Qwen | RAG
| vLLM (inference) | OpenAI APIs
Grid Adventure Agent
Description: An AI agent that plays Grid Adventure, a tile-based puzzle game, by planning
optimal action sequences using A* search.
Highlights:
- Designed an A* search planner to compute optimal action sequences for navigating tile-based puzzle states.
- Supported two input modes: structured game state (Task 1) and raw pixel image perception (Task 2/3),
requiring vision-based state extraction.
- Evaluated agent performance across varying grid complexities and input fidelity conditions.
Project Link: Grid Adventure Agent Github Repo
Duration: Jan 2026 - Apr 2026
Tech Stack: Python | Pytourch | A* Search | Image Processing
HomeRun: Co-living Mediator Dashboard
Description: A conceptual desktop system designed to act as a neutral, centralised
Co-living Mediator for residents in high-density shared housing, completed as part of NM3243 Interaction Design
at NUS.
Highlights:
- Conducted user research and developed personas, user journeys, and task flows to ground the design in real
co-living pain points.
- Produced low-fi to high-fi prototypes in Figma, iterating based on usability feedback.
- Designed mediation and communication features to reduce friction between roommates in shared housing
scenarios.
Project Link: HomeRun GitHub Repo
Duration: Jan 2026 - Apr 2026
Tech Stack: Figma | Miro | UX Design
PropBank: MarketPlace Service (CS3240 Individual Portfolio)
Description: An individual portfolio for CS3240 Interaction Design at NUS, documenting
personal contributions and design reflections on the MarketPlace service of PropBank — a super app
built around a cosplay-rooted ecosystem.
Highlights:
- Contributed to the design and iteration of the MarketPlace service within a group UX project.
- Documented individual design decisions, rationale, and reflections aligned with Interaction Design
principles.
- Applied user-centred design methods including wireframing, prototyping, and heuristic evaluation.
Project Link: PropBank Portfolio Github Repo
Duration: Jan 2026 - Apr 2026
Tech Stack: Figma | Next.js | TypeScript | UX & UI Design |
Fleet Dashboard
Description: A vehicle fleet management web app built for an
automotive rental context, supporting real-time tracking and full CRUD operations
on vehicle records.
Highlights:
- Built full CRUD operations on vehicle records including plate number, model,
status, date, and notes.
- Implemented real-time search and status filtering (Available / Rented /
Maintenance) with colour-coded indicators to support quick operational decisions.
- Applied React hooks (useState, useEffect) for state management and localStorage
persistence, translating fleet management requirements into a clean, responsive UI.
Project Link: Fleet
Dashboard Github Repo
Duration: Apr 2026 - Present
Tech Stack: React | Vite | JavaScript | localStorage
Mintty: Task Manager
Description: A desktop task management application optimized for CLI users, combining the
efficiency of command-line interaction with the clarity of a GUI. Built with strict adherence to Object-Oriented
Programming principles for maintainable and extensible code architecture.
Highlights:
- OOP Design: Implemented comprehensive object-oriented architecture with proper
encapsulation, inheritance (Todo/Deadline/Event extending abstract Task class), and polymorphism for command
handling.
- Applied SOLID principles throughout the codebase, ensuring separation of concerns between UI, logic, and
storage layers.
- Built three task types (Todo, Deadline, Event) with natural language datetime parsing and flexible
scheduling capabilities.
- Designed command pattern implementation with aliases (e.g.,
todo/td,
deadline/ddl) for rapid workflow execution.
- Implemented smart search functionality with keyword matching and snooze feature for rescheduling tasks.
- Integrated automatic data persistence with JSON serialization following proper abstraction layers.
Project Link: Mintty Github
Duration: Jan 2026 - Apr 2026
Tech Stack: Java 17 | JavaFX GUI | OOP Design Patterns
CatPals: Volunteer Operations App
Description: A volunteer operations application adapted from an existing brownfield codebase
to support the tracking and management of stray-cat records at NUS. The project focused on improving usability,
aligning features with real user needs, and making the system easier to use and maintain.
Highlights:
- Adapted and extended an existing AB3 brownfield codebase into a context-specific operations app for
volunteers managing stray-cat information.
- Conducted user research and developed user stories to better align the application’s features with actual
operational workflows and user needs.
- Contributed to key functional enhancements such as add, find, edit, export, and other core CRUD-related
operations.
- Improved the JavaFX user interface through layout refinements and CSS customisation, making the application
clearer and more user-friendly.
- Updated major project documentation including the README, User Guide, and Developer Guide to support
onboarding, usage, and maintainability.
- Worked within a structured team workflow using Git, branches, pull requests, merge reviews, weekly meetings,
and release packaging for controlled collaboration and delivery.
Project Link: CatPals
GitHub
Duration: Jan 2026 - Present
Tech Stack: Java | JavaFX | CSS | Git/GitHub | Brownfield Software Engineering
OpenGL Graphics Coursework
Description: A collection of OpenGL-based coursework demos exploring core real-time rendering
concepts and interactive controls.
Highlights:
- Implemented graphics pipeline fundamentals, including transformations, camera controls, and scene
organization.
- Built shader-based rendering effects (e.g., lighting, materials, and texturing) as part of course
assignments.
- Added interactive input handling for navigation and parameter tuning during demos.
Project Link: OpenGL
Coursework
Duration: Aug 2025 - Dec 2025
Tech Stack: C++ | OpenGL | GLUT
3D Modeling and Animation
Description: A collection of coursework demonstrating 3D modeling theory, character animation,
and computational geometry through Blender animation and C++/OpenGL mesh processing implementations.
Highlights:
- Created a collaborative short animation in Blender featuring custom character modeling, rigging with IK,
keyframing with Bezier interpolation, and particle VFX systems.
- Implemented mesh processing algorithms including triangle mesh data structures (Trist), face/vertex normal
computation, smooth shading, and boundary edge detection in C++/OpenGL.
- Built mesh navigation operations (enext, sym, org, dest, fnext) and component analysis using BFS/DFS for
topology computation.
- Developed OBJ file parser with support for reading/writing Wavefront format, angle statistics computation,
and interactive rendering modes (wireframe, flat/smooth shading).
Project Link: 3D Modelling
and Animation
Duration: Jan 2026 - Apr 2026
Tech Stack: Blender | C++ | OpenGL | GLUT | Cycles Renderer
Extra Curricular Activities
NUS Piano Ensemble
Role: Member
Duration: Aug 2024 – Present
- Actively participate in club activities.
- Performed 4 piano duets with a partner in the annual concert.
- Completed 3 performances in performance classes and received guidance from the professor on piano technique.
NUS Climbing Club
Role: Member
Duration: Aug 2025 – Present
- Holds the Singapore SNCS Level 2 certification.
- Maintains weekly high-intensity training sessions with the club.
Chengdu Shude High School International Division Orchestra & Choir
Role: Principal Pianist
Duration: Jan 2022 – Jan 2024
- Served as the piano accompanist for the school orchestra and choir, and hosted and performed in 6 concerts.
- Performed 5 piano solo pieces.