- How to (properly) style your content (lists, headings, etc)
- Chrome extension RPC
- Easy skip links in Solid / React
- Shiki twoslash
- Lexical "modules"
- Fishing for a Proxy (lexical editor)
- A tale of default config types
- Random id with base 36
- Bitwise in JavaScript (example: lexical text format)
- Splitting context and batching state
- Prolog and cousins
- How to build a CPU emulator
- An old attempt at og-images (vs. satori)
- My Pop!_OS setup script
- Button groups, React context, and negative margins
- Reverse engineering and hacking the Discord client - voice proximity chat
- Twitter plays Pokemon
- Annoying a work mate (phone calls script)
- Buscapiso script
- Manually typing classes and instances
- A workaround to the lack of TypeScript partial inference of generics (and
satisfies
) - A collections system for React
- The React context register pattern and use-cases (example: useDialogViews)
- Merging React props (and refs, and keys)
- Detecting scroll overflow
- CSS variables and JavaScript (example: --scroll)
- How to download icons from Figma
- Flattening SVG icon paths
- SVG icon color slots
- Encoding SVG icon size in a flattened path
- Using :where to simplify icon sizing
- A React component system for your design system
- Encoding metadata in your Rect components
- How to build a spinning loading indicator
- How to create a "slottable" component in React
- How menus and comboboxes can be composed together using Ariakit
- How to learn accessibility
- Understanding React and (React's) JSX types
- Abstracting Ariakit
- Building a React and Tailwind design system
- Render props
- The prop-piping pattern
- React Polymorphism and types
- Trick to center something (Atlas DialogLayout header)
- Checking if something is overflowing e.g. to show a tooltip
- Better interaction styles (:hover:active and useKeyboardActive)
- Scheduling focus in React
- useStaticValue
- Design tokens with Tailwind
- Downloading colors as design tokens from Figma styles
- Using TS Morph to generate documentation from types and JSDocs
- Generating and visualizing docs for component props
- A terminal logs design system
- Services / tech I use
- My setup
- Colocation as a religion
- Multi-select label magic
- When things just fit (Solid.js, architecture, etc)
- Deploying the same branch twice in Vercel
- Remark, rehype & co for dummies
- Solid Start + MDX
- Solid Start + MDX + shiki-twoslash
- How remark / rehype works