Who is Nick

Most people pick one side. I never did, and not by accident.

Sep 6, 2026

Design SystemsReactPythonMCPOKLCHDesign Engineering
Transmissionsystemsreactpythonmcpoklchdesign eng

I studied hardware and software engineering. I have been writing code for twenty five years. ERP and warehouse systems in VB and SQL, firmware in C++ on ESP32, data visualization in Python at Tencent. Today it is FastAPI and PostgreSQL on the server, React on the front end.

The design career happened on top of that. Nineteen years: fifteen at Tencent, then ByteDance, where I led design for Lark and grew the org to three hundred. That covered brand, UX, user research, prototyping, and the design system itself, which we designed and built in code. The system ran across thirty product teams and nine platforms. Then two AI startups, and now Shanda, where four of us cover ten products across three markets.

Most people pick one side. I never did, and not by accident. What ships to a user is one thing, not just design or tech. For more than a decade I have been working to bring the two closer together, to give users a better experience. That has been the drive behind my career and the thing that guides it. AI has accelerated how fast knowledge from different fields converges, which has given me a great deal of convenience and efficiency, and has greatly sped up how fast I can put things into practice.

Two years ago the work changed shape. A design system used to hand off to people. Now it hands off to a model, and the handoff is code: props, state, schemas, an address the model can resolve. The gap between what a designer specifies and what actually ships stopped being a communication problem. It became an interface problem.

That is what io is. There was no engineering role on my team at Shanda, three designers and none of them write code, so if the system was going to exist I had to build it. Sixty six React components driven by props rather than variants. Colour resolved through a theme layer of fifty nine slots, with contrast enforced by lightness difference in OKLCH rather than WCAG ratios, checked as the theme generates so a failing pair cannot reach the page. A memory service in Python behind nginx that holds the decisions and the reasoning, which the model reads before it builds anything.

The chat box below is connected to that memory service. It is read only, and everything it tells you comes out of my working logs.