Next.js Frontend Engineer in Taiwan | Jacky Dev

© 2026 Jacky. All rights reserved.
Built with Next.js, TypeScript & Sanity.
logo

Turning complex frontend systems,
into maintainable products.

I'm Jacky Yang, focused on React, Next.js App Router, and TypeScript. I use clear data flows, testing, CI/CD, and well-defined permission boundaries to reduce long-term maintenance costs.

Read Engineering Notes
Jacky

JACKY DEV

Next.js

Sanity

AI systems

Automation

Technical Principles

Lean Components

I don't like letting a single component carry too many responsibilities. When logic, UI, data fetching, and side effects are mixed together, every later change becomes a gamble.

if (component.isHardToExplain()) split();
State Purity

I strictly follow one-way data flow and avoid passing Hooks as props to preserve architectural purity.

state.owner !== 'everyone'
Automated Quality

A robust CI/CD pipeline ensures every line merged into the main branch meets quality standards.

main <- onlyIf(ci.passed)

Case Studies

I don't write articles just to catalog terminology. I break down the messy scenarios I've encountered in practice: unclear data flows, tangled state ownership, testing gaps, ambiguous security boundaries, and trade-offs between SEO and performance. These problems rarely explode on day one, but they steadily add to the cost of long-term maintenance.

Complex State Refactoring

I have worked through large legacy codebases with unclear state sources, confusing data flow, and tightly coupled components. By separating responsibilities with Custom Hooks, TanStack Query, and Zustand, data fetching, caching, and UI state became easier to trace.

TanStack QueryZustandCustom Hooks
Frontend Quality Gates

I have introduced ESLint, TypeScript checks, Vitest unit tests, and Playwright E2E tests to turn error-prone manual review steps into repeatable verification.

ESLintTypeScriptVitestPlaywright
Performance and SEO

I have handled metadata, sitemap, revalidation, and image optimization for content-heavy sites, balancing search visibility, loading speed, and cache freshness.

MetadataSitemapRevalidateImage
Security and Permission Boundaries

I have implemented CSP nonces, authenticated state checks, Route Handler authorization, and DAL layering to keep sensitive logic out of Client Components.

CSPDALRoute HandlerSession

Featured Posts

Notes from my work on frontend architecture, state management, Next.js, and engineering quality. I keep the original problem context, trade-offs, and fixes after real implementation work.

Visit Blog

Tech Stack

My daily work centers on Next.js, React, TypeScript, Testing, and Security, with state management, UI systems, and CI/CD added according to the problem.

React
Next.js
TypeScript
Zustand
React Query
MUI
Tailwind CSS
shadcn/ui
Testing
Security
GitLab
React
Next.js
TypeScript
Zustand
React Query
MUI
Tailwind CSS
shadcn/ui
Testing
Security
GitLab

About / Contact

I enjoy turning abstract frontend problems into maintainable structures and writing down the implementation path. If you want to talk about React, Next.js, engineering quality, or content-driven site architecture, you can reach me here.

EmailGitHub