Skip to content

About ​

William Xue

William Xue

Frontend Engineer · Large-Scale Visualization · 10 years

WebGL / GIS / digital twin · end-to-end delivery · open-source contributor

Who I am ​

Ten years as a frontend engineer, nine of them in Shanghai. The first five were spent on complex business applications — componentisation, tooling, design systems. The last few years have been almost entirely industrial-grade visualization: making large graphs, maps and datasets behave in a browser.

The difference I bring is not the number of frameworks I can list. It is that I can take a stalled rendering problem, find the actual cause, and replace the approach — and that when a project needs one person to own the whole line, I can pick up the backend too.

Skills ​

🎨 Frontend & visualization (primary)

  • Frameworks: Vue 2/3, React, TypeScript
  • Graphics: WebGL, Three.js, deck.gl, CesiumJS, AntV X6, custom Canvas / SVG engines
  • Engineering: Vite, Webpack, component & utility libraries, micro-frontends
  • Performance: large-dataset rendering, viewport culling, GPU buffer reuse, Web Worker offloading

🔌 Backend & data (closes the loop)

  • Languages: Java / Spring Boot, Node.js, Python
  • Data: MySQL, Redis (caching, distributed locks, rate limiting, queues)
  • APIs: REST design, frontend–backend integration, schema design, slow-query diagnosis
  • Scope note: enough to deliver a whole business chain; not a distributed-systems architect, and I do not claim high-concurrency numbers

🚀 Build & deploy

  • Containers & proxy: Docker, Nginx
  • CI/CD: GitHub Actions, one-click build and deploy (this site included)
  • Debugging: log and error-code driven, layered triage (frontend / gateway / API / database)

I do not sell "familiar with ten languages". Of the three blocks above, visualization is the main skill and the backend is the ability to finish the chain when the project needs it.

Experience ​

2025.05 – 2026.08

Senior Frontend Engineer · energy industry software

Led a power-system graphical editing tool: replaced an approach that stalled at roughly 5,000 nodes with WebGL / deck.gl, then verified node dragging and vertex editing on a 20,000+ node dataset. Built a component editor from scratch; contributed to an industry simulation platform and an AI-agent workbench.

2020.05 – 2025.04

Frontend Engineer / Frontend Lead · national logistics

Core business systems serving 30,000+ outlets nationwide. As frontend lead, built and ran a 12-person team delivering five internal systems (recruiting, training, performance, attendance, payroll). Established the component library, coding standards and release process; authored a configurable formula-calculation component that earned a utility-model patent.

2018.03 – 2020.05

Frontend Engineer · publishing

React + TypeScript ERP for the publishing industry. Led cross-platform mini-program work, cutting development resource usage by roughly 60% through conditional compilation and sub-package preloading.

2016.01 – 2018.02

Frontend Engineer · fintech, Shanghai

Rebuilt an aggregated-payments platform onto a modern stack; built a post-loan management frontend from zero; designed a shared single-sign-on scheme across projects.

Open source ​

Every number below is checkable on GitHub:

MetricFigure
Pull requests submitted94 (48 merged)
Repositories contributed to39
Issues filed122
Organisation membershipVarlet (Vue 3 mobile component library) — public member
Representative merged workAntV X6 port editor plugin, Element Plus table-filter fix, varlet ellipsis / date-picker changes
Own project with community tractionselection-drag-engine — 101 ★

Projects I have contributed to: Varlet, AntV X6, Element Plus, antdv-next, vercel/ai, plotly.js, recharts, deck.gl, naive-ui, vexip-ui — plus engineering libraries in the power-systems and optimisation space such as Pyomo, PyPSA, PowerGridModel and pandapower.

How I work ​

  • Diagnose before optimising. Prove where the bottleneck is before swapping renderers — DOM count, layout thrash or GPU submission. Pick the wrong layer and every later optimisation is wasted.
  • Concrete over conceptual. I would rather say "this stalled at 5,000 nodes, here is what I replaced it with, why, and what the measured numbers were" than talk about paradigms.
  • Nothing on this site is something I have not done. Every figure points to a live system, a runnable test, or a public repository.

Working together ​

I take remote and contract work. Core capabilities →

Built and deployed automatically with GitHub Actions