---
title: "Jack Li (@linb) | Hashnode"
description: "Full-stack developer, creator of CrossUI Studio"
url: "https://hashnode.com/@linb"
---

@linb

# Jack Li

@linb · Montreal, Canada · Joined June 2026

### [Try four admin templates before you install one](https://crossui.hashnode.dev/try-four-admin-templates-before-you-install-one?utm_source=hashnode&utm_medium=feed)

Four admin templates open in four browser tabs — antd, MUI, Mantine, shadcn. What to check once they are side by side: the pages nobody screenshots, how deep the components nest, where one theme colour goes, and what each one drags in.

6 min read · [crossui.hashnode.dev](https://crossui.hashnode.dev/try-four-admin-templates-before-you-install-one?utm_source=hashnode&utm_medium=feed)

[Nov 2](https://hashnode.com/posts/try-four-admin-templates-before-you-install-one/6ae8968366710869760c24d4)

### [Open a GitHub React repo in the browser, no install](https://crossui.hashnode.dev/open-a-github-react-repo-in-the-browser-no-install?utm_source=hashnode&utm_medium=feed)

Type an owner and a repo name, get a link, open the project in your browser. The files come from one commit — no clone, no npm install, nothing written to your disk.

5 min read · [crossui.hashnode.dev](https://crossui.hashnode.dev/open-a-github-react-repo-in-the-browser-no-install?utm_source=hashnode&utm_medium=feed)

[2](https://hashnode.com/posts/open-a-github-react-repo-in-the-browser-no-install/6adc3956f9fefb8f0c6e7f25) [Oct 24](https://hashnode.com/posts/open-a-github-react-repo-in-the-browser-no-install/6adc3956f9fefb8f0c6e7f25)

### [You approved that UI PR without seeing it](https://crossui.hashnode.dev/you-approved-that-ui-pr-without-seeing-it?utm_source=hashnode&utm_medium=feed)

UI pull request review usually means reading a text diff, never seeing the result. Why that happens, and how to make looking as cheap as reading.

5 min read · [crossui.hashnode.dev](https://crossui.hashnode.dev/you-approved-that-ui-pr-without-seeing-it?utm_source=hashnode&utm_medium=feed)

[Oct 4](https://hashnode.com/posts/you-approved-that-ui-pr-without-seeing-it/6ac2ab9d3cb26f1f24f43aa0)

### [Your sx prop is already a data structure, and almost no tool treats it that way](https://crossui.hashnode.dev/your-sx-prop-is-already-a-data-structure-and-almost-no-tool-treats-it-that-way?utm_source=hashnode&utm_medium=feed)

UI pull request review usually means reading a text diff, never seeing the result. Why that happens, and how to make looking as cheap as reading.

13 min read · [crossui.hashnode.dev](https://crossui.hashnode.dev/your-sx-prop-is-already-a-data-structure-and-almost-no-tool-treats-it-that-way?utm_source=hashnode&utm_medium=feed)

[Sep 27](https://hashnode.com/posts/your-sx-prop-is-already-a-data-structure-and-almost-no-tool-treats-it-that-way/6ab9a51974aa97e575285b6f)

### [shadcn/ui says the code is yours. So why can't anything edit it?](https://crossui.hashnode.dev/shadcn-ui-says-the-code-is-yours-so-why-can-t-anything-edit-it?utm_source=hashnode&utm_medium=feed)

Visual React editors assume a package with a stable prop table. shadcn is your own source, styled by class names — which makes it the best candidate for structured editing, and explains what stands in the way: running Tailwind's engine against a shadow root with no build step.

12 min read · [crossui.hashnode.dev](https://crossui.hashnode.dev/shadcn-ui-says-the-code-is-yours-so-why-can-t-anything-edit-it?utm_source=hashnode&utm_medium=feed)

[Sep 21](https://hashnode.com/posts/shadcn-ui-says-the-code-is-yours-so-why-can-t-anything-edit-it/6ab0aad6cb94cc88682b695a)
