CHULIYING

Frontend-Focused Full-Stack Engineer

Chu Liying

ABOUT

FRONTEND & FULL-STACK PRODUCT ENGINEERING

I've spent 10+ years building frontend products in energy, e-commerce, media, and arts and culture. At HDRenewables I lead frontend architecture with the backend team, product, design, and QA. On products I own, I build the backend too.

My design background keeps the user's path in view while I make data and API decisions.

CAPABILITIES

Frontend architecture
Where data is fetched, how it is shared, and what belongs in client state, in React, Next.js, and TypeScript.
Backend & data
PostgreSQL schemas with forward-only migrations and row-level security, plus Python jobs for imports and indexing.
Complex product interfaces
Dense operational data and long editorial content, made easy to move through on desktop and mobile.
Delivery quality
A shared quality kit keeps every route under Lighthouse monitoring; CI gates releases with Playwright and real-database tests.
Technical leadership
I plan, review, and make technical calls with product, design, backend, and QA, and stay close to production issues.

EXPERIENCE

HDRenewablesR&D Assistant Manager / Frontend Lead2024–Present
  • -Lead the frontend team for a multi-module energy platform; designed its configuration-driven routing and layout system with the backend team, cutting a new dashboard page from about two weeks to two days
  • -Built the platform's AI assistant end to end: identity forwarding, one streaming path, and sanitized model output
  • -Co-develop the Rust agent runtime behind it; authored its input-processing and per-user permission layers
  • -Line-manage four frontend engineers; lead planning, task allocation, and code review, and stay hands-on in production debugging
  • -Drive adoption of AI-assisted development across a product team of about 35 (not direct reports)
  • -Built a shared quality kit, added as a Git submodule, that keeps every route including logged-in pages under Lighthouse and gates pull requests on performance and accessibility baselines
EcosTekSenior Frontend Engineer2023–2024
  • -Built and maintained storefront and admin workflows for around 100 client accounts, integrating payment, logistics, and inventory systems
  • -Developed subscriptions, promotions, preorders, and a Shopee migration dashboard; added Cypress checks for promotion rules
  • -Planned frontend sprints, assigned work, and reviewed code
Brewing ArtsFull-Stack Engineer2021–2023
  • -Took the platform from concept to launch as its sole product designer and full-stack engineer
  • -Designed the content schema in Hygraph, a headless CMS, and built the Next.js frontend on its GraphQL API, with static generation and SEO for editorial content
  • -Set up hosting and deployment on Google Cloud
Independent ProjectsFreelance Product Designer / Frontend Engineer2020–2021
  • -Independently designed and built websites for clients, from the first layouts to the production frontend
The News LensFrontend Engineer2015–2020
  • -Worked on product planning, UX, and frontend development for a high-traffic bilingual media platform, including branded editorial sites and native advertising
  • -Independently took new brand sites from product planning and visual design through frontend implementation

EDUCATION

Ming Chuan University
Commercial Design · 2012

PRODUCT ENGINEERING PROJECTS

Travel Agency CRM

Side project · In production

Independently designed and built an end-to-end CRM for my family's travel agency, in production from the PostgreSQL data model to the Customer 360 workspace and release process. Tenant isolation is enforced in PostgreSQL, and the same E2E-verified build is promoted from staging to production.

Live demo ↗Architecture →

  • Access control lives in PostgreSQL: requests run as non-owner NOBYPASSRLS logins with row-level security, so a missed API check still cannot cross tenants.
  • 30+ forward-only migrations and idempotent Python imports; one build moves from staging to production only after end-to-end tests, so what was tested is what ships.
  • A public read-only demo runs as a separate synthetic tenant, in English and Traditional Chinese.

Outcome

One workspace for customers, tours, surveys, and AI questions, with access rules enforced by the database.

  • Next.js
  • React
  • TypeScript
  • Python
  • PostgreSQL
  • Auth.js
  • GitHub Actions
  • Vercel

Energy Platform Frontend

Internal project

Lead the frontend team for a multi-module energy BI platform. The business changes faster than a release cycle, so I made it configuration-driven: routes, menus, and page layouts come from config agreed with the backend team and reach users without a redeploy.

Architecture →

  • Designed the dynamic layout system: one page component renders any route from menu and layout config, with shared templates and per-block progressive loading.
  • Built the AI assistant on one streaming path to the Rust agent runtime I co-develop, retiring a fallback that had silently failed for five weeks.
  • Security by default: identity forwarded end to end, recoverable 401s for expired sessions, and model output limited to same-origin links and images.

Outcome

New dashboard pages that took about two weeks now take about two days, freeing time for end-to-end tests and AI exploration, and everything ships through the CI gates I set up.

  • React
  • Next.js
  • TypeScript
  • React Query
  • Vitest
  • Playwright
  • GitHub Actions

Independently designed and built a PTS Taigi event site for 16 films and 40 screenings across three cities: a 3D exhibition that still reads well in three languages, on phones, and with reduced motion.

  • Kept motion out of React: one controller owns the GSAP timeline and cleanup, and Three.js keeps its own lifecycle.
  • Fixed trackpad momentum at the root, and switched to natural scrolling on mobile and for reduced-motion preferences.
  • Subset the display font to the characters the site uses, from 6.3 MB to under 500 KB per weight.

Outcome

Measured on a production build at 1440×900 across ten consecutive transitions (browser and hardware not recorded): frames averaged 16.68 ms (p95 18.30 ms) with no long tasks.

  • TypeScript
  • Responsive UI
  • Three.js
  • GSAP