project

Projects & Research

Selected product, machine-learning, systems, and tooling work—with the context behind how each one was built.

Target role: Frontend Engineer

Selected work

Product, research, and engineering work with the problem and implementation context preserved.

01

yflong.dev

Live

Personal portfolio and engineering blog built with a minimal white design system, motion-led interactions, and a static content pipeline.

Problem

Most portfolio sites are either visually generic or sacrifice maintainability for visual polish.

Architecture

  • App Router with server components for static blog and project pages; client components scoped to interactive UI.
  • Design system built on CSS custom properties and Tailwind v4, with Framer Motion for entrance and scroll animations.
  • Markdown-based blog pipeline with frontmatter validation, reading time calculation, and tag aggregation.

Outcomes

  • Shipped a distinctive minimal white portfolio that demonstrates both design sensibility and frontend engineering depth.
  • Unified blog, algorithm visualizer, project case studies, and journal under one deployable surface.
  • Established a reusable token and component system that scales consistently across all routes.
02

Wan's Dine

Maintenance

Restaurant discovery platform with location-based browsing and service health instrumentation.

Problem

Users need faster restaurant shortlisting without navigating multiple disconnected food platforms.

Architecture

  • Frontend client optimized for fast listing queries and category filtering.
  • Service health and incident traces integrated into the same portfolio ecosystem for transparency.
  • Modular feature grouping to isolate recommendation logic, route handlers, and UI concerns.

Outcomes

  • Shipped a full product surface with discoverability, filtering, and operational visibility.
  • Documented outage handling and active incident communication through the status dashboard model.
  • Established a platform to discuss reliability and recovery strategy during interviews.
03

Been There Series

Live

Travel exploration app for curated luxury hotel discovery and trip planning workflows.

Problem

Travel research for premium stays is fragmented across content-heavy portals and repetitive comparisons.

Architecture

  • Feature-focused frontend architecture with reusable search and detail modules.
  • External service abstraction for destination and stay metadata retrieval.
  • Progressive rendering strategy to keep route transitions responsive across devices.

Outcomes

  • Published a polished project that demonstrates product UX, data handling, and deployment workflow.
  • Created a second domain project to show breadth beyond portfolio and blog infrastructure.
  • Added a practical discussion point for frontend architecture and API tradeoffs.
04

PixelMorph

Beta

Spatial-media research that turns monocular video into comfortable stereo output through multimodal depth, generation, evaluation, and refinement pipelines.

Problem

Converting ordinary video into spatial media requires more than estimating depth: stereo consistency, temporal stability, viewing comfort, and dataset quality all affect whether the result is usable in XR.

Architecture

  • Multimodal experiments combine M2SViD and Depth Anything V2 to derive spatial structure and synthesize stereo video from monocular inputs.
  • Comfort evaluation feeds a refinement stage that targets unstable disparity, temporal artifacts, and uncomfortable stereo output.
  • DINOv3-based dataset tooling supports automated labeling and classification before training and evaluation runs.

Outcomes

  • Built an end-to-end research workflow spanning dataset preparation, model experimentation, comfort measurement, and output refinement.
  • Made perceptual comfort a measurable optimization target instead of treating model output quality as a purely visual judgment.
  • Established a shared research surface for comparing models, datasets, and spatial-video results.
M2SViDDepth Anything V2DINOv3Multimodal MLXR
05

Miles & Baggage

Beta

Rules engine for estimating Cathay award prices and resolving baggage allowances across complex itineraries.

Problem

Award pricing and baggage entitlements vary by route, cabin, journey boundaries, carriers, status, and codeshare rules, making manual calculations difficult to audit.

Architecture

  • A Cloudflare Worker exposes versioned estimate, exact-quote, baggage, health, and OpenAPI endpoints.
  • Journey-aware pricing separates directions, journeys, and sectors while validating route continuity, mixed cabins, and carrier constraints.
  • Bundled airport and award-route datasets provide deterministic calculations with explicit request overrides for missing data.

Outcomes

  • Turned scattered award and baggage rules into an inspectable API contract with structured calculation results.
  • Covered both fast route estimates and exact sector-by-sector itinerary pricing.
  • Created reusable backend foundations for the Miles & Baggage interface featured on the homepage.
TypeScriptCloudflare WorkersOpenAPIRules EngineVitest
06

MedTrack

Beta

Focused Android application for medication schedules, adherence tracking, and symptom history.

Problem

Medication routines and changing symptoms are easy to lose across reminders, notes, and memory, reducing the value of the history during later review.

Architecture

  • A Kotlin and Jetpack Compose interface models medication schedules and symptom entries as explicit application state.
  • Task-focused screens keep daily actions separate from longer-term history and review workflows.
  • The prototype uses a small mobile-first domain model so reminders, adherence, and symptom records can evolve together.

Outcomes

  • Produced a working mobile product prototype around a concrete health-tracking workflow.
  • Explored state-driven Compose UI patterns beyond the portfolio's web stack.
  • Established the interaction model for future reminder and longitudinal-history work.
KotlinJetpack ComposeAndroidState Management
07

Alpha–Beta Lab

Complete

Interactive React and SVG learning tool for stepping through minimax evaluation and alpha–beta pruning.

Problem

Static diagrams show the final pruned tree but do not make the changing bounds and branch decisions easy to understand.

Architecture

  • Typed tree, node, edge, and action models drive a dependency-free SVG renderer in React.
  • Step, play, speed, editable values, and pruning controls expose the algorithm's state transitions directly.
  • Configurable depth, branching factor, and Min/Max roots let learners generate and inspect new exercises.

Outcomes

  • Turned alpha–beta pruning into an explorable sequence rather than a static worked answer.
  • Added answer checking and solution views for self-guided practice.
  • Rebuilt the original AngularJS and D3 exercise with a smaller React and TypeScript architecture.
08

Flappy Birb

Complete

Reactive SVG game whose input, time, physics, collisions, state transitions, and rendering are composed with RxJS.

Problem

A real-time game is a compact way to test whether functional reactive architecture can keep changing state predictable without scattering side effects.

Architecture

  • Tick, jump, and restart streams emit pure state reducers that are merged and accumulated into the game state.
  • Rendering is derived as immutable SVG data, with DOM writes contained at a single subscription boundary.
  • Ghost runs, leaderboard state, collisions, lives, themes, and CSV pipe maps remain separate pure modules.

Outcomes

  • Demonstrated functional reactive programming through a complete interactive system rather than an isolated example.
  • Kept physics and collision behavior independently testable through pure transformations.
  • Added replay-oriented features without abandoning the single-stream state model.
RxJSTypeScriptSVGFunctional Reactive ProgrammingVitest

Smaller builds

Tools & experiments

chmod Calculator

Complete

Visual learning tool that keeps octal and symbolic Linux file permissions in sync.

Monash Report

Complete

Reusable Typst report template for Monash coursework, with configurable identity, authorship, layout, appendices, and nomenclature.

Moodle MCP

Beta

Read-only MCP server for retrieving Moodle courses, upcoming assignments, and course content through token or session authentication.

MCPTypeScriptMoodle APINode.js