My Projects

  • Portfolio Website Template

    Portfolio Website Template

    A de-sanitized Next.js + Tailwind CSS portfolio template (Solarized-inspired UI, Framer Motion). Clone it to drop in your own copy and assets, or extend it with new sections. Includes: • Core portfolio sections and layout • Light / dark theme • Hero 3D model (GLB)—replace with your own character • NetEase Cloud Music player with minimize mode and lyric / backdrop view • Dynamic, expandable work timeline • Draggable hobby / interest windows • Radar-style skill / interest visualization

  • Chrome-Extension-HMR Template

    Chrome-Extension-HMR Template

    A modern Chrome Extension template using Manifest V3, React, TypeScript, and Webpack with Hot Module Replacement (HMR) for instant updates during development, enabling fast and efficient creation of scalable and maintainable extensions.

  • Meta KDD Cup 2024

    Meta KDD Cup 2024

    A solution for the KDD Cup 2024 Meta-Crag Challenge, utilizing advanced machine learning techniques to analyze and model complex datasets for competitive performance.

  • Swift Link Web App

    Swift Link Web App

    A web-based ride-sharing platform with a modern, responsive design and scalable architecture for seamless booking and management of rides.

  • Reliable UDP - simulate TCP

    Reliable UDP - simulate TCP

    implementing a reliable data transfer protocol (TCP) over UDP, showcasing key networking concepts like packet handling and error recovery.

  • SafeGrocer: COVID-19 Risk

    SafeGrocer: COVID-19 Risk

    Originated at LA Hacks 2020 as a hackathon team project: help people assess COVID-19 exposure risk and find lower-risk grocery options using location and available data—early-pandemic tooling for safer shopping decisions. Project note: the repo still reflects the original hackathon project, which was a web app that assessed COVID-19 exposure risk and recommended lower-risk grocery options using location and available data. LA Markets Near You: browse open-data farmers markets, search by address, and sort results by driving distance. APIs: Google Maps JavaScript API, Places API (New), Geocoding API, Routes API, with optional Distance Matrix API as a fallback when routing isn’t available.

  • Capstone: Partitioning Advisor

    Capstone: Partitioning Advisor

    This project presents a lightweight, workload-aware Partitioning Advisor for Spark–Hive systems. It recommends an optimal partitioning strategy (Hive partitioning or Spark repartition) and partition count based on data size, query type, and optimization objective. The system is built on an empirical experiment summary, enabling fast and interpretable lookup-based recommendations without complex cost models. Evaluated across multiple workloads, the Advisor achieves 100% agreement with the best observed configurations for runtime. Results show that partitioning decisions significantly impact performance, especially for join queries and large datasets. The solution is fully reproducible and designed to reduce manual tuning while improving consistency in distributed data processing pipelines.

  • MeowJudge

    MeowJudge

    AI-powered web tool: a Next.js app that turns two sides of a conflict into structured, bilingual (Chinese + English) reflection—summary, fairness framing, suggestions, and a light “cat judge” verdict. Structured inputs (relationship type, perspectives, optional facts, outcome mode), Vercel AI SDK with Zod-validated output, OpenRouter or OpenAI; zh/en UI with localStorage; last cases kept in the browser only.

  • Cave Escape

    A first-person cave escape built as a computer-graphics learning project (low emphasis on replay value, high emphasis on the rendering pipeline). Stack: vanilla ES modules, WebGL through a course tiny-graphics framework, multi-page HTML shell, and Vercel static hosting. Highlights: • Framebuffer mouse picking — render interactables in an off-screen pass with a dedicated shader so each object gets a unique ID (primarily via the blue channel); readPixels at the screen center maps the sampled color to the picked object—a classic GPU-friendly alternative to ray–triangle intersection. • First-person camera — map 2D mouse deltas to 3D camera rotation, combine with WASD translation, view/projection matrices, and pointer-lock–style first-person navigation. • Lighting tied to puzzles — Phong-style materials and multiple lights; toggling the torch changes scene brightness so a fluorescent password texture only appears in the dark, connecting the lighting model directly to gameplay. • Fire: particles → GPU texture — simulate flame on a 2D canvas (positions, lifetime, yellow-to-red color falloff), upload to WebGL as a dynamic texture on a quad in the cave—a practical “2D sim → texture → 3D” pipeline rather than physically accurate volumetrics.

  • Pokémon Guest Quiz

    Pokémon Guest Quiz

    Guess Pokémon from PokéAPI clues: sprite, types, size, abilities, and base stats. Pick Gen 1–9 or full national dex; four choices in English, 日本語, and 中文—with speed bonuses like the original CLI version.

  • Snake

    25×25 Snake. • Easy — open board. • Medium — random barriers (connected map). • Hard — rival snake; absorb its length, respawns at yours. Score and speed scale with snake length. Solarized look.

Loading your playlist...