components / gallery
gallery.
searchable, filterable, sortable project card grid with chrome-foiled pinned markers, tech chips, and repo/live links. composes card, badge, menu, and chrome.
Things I've built
A curated list of things I've built or explored.
A dark-only, shadcn-style component registry distributed over the CLI.
The registry you are reading right now.
Next.jsTypeScriptTailwind
2025
Statically generated portfolio with a searchable project gallery.
Next.jsTypeScriptMotion
Prose renderer
Markdown-to-React renderer with line-sync for split-pane editors.
TypeScriptMarkdown
ASCII donut
A spinning torus rendered with characters, ported to a React canvas.
ReactCanvasMath
Web synth toy
A tiny subtractive synthesizer driven by the Web Audio API.
Mostly an excuse to learn oscillators.
Web AudioReact
installation
bunx @justin06lee/chrome@latest add galleryprops
| name | type | default | description |
|---|---|---|---|
| title * | string | - | heading shown above the grid. |
| subtitle | string | 'A curated list of things I've built or explored.' | muted line under the title. |
| items | GalleryItem[] | [] | the cards to render: { id, title, link?, description, year, tech[], repo?, live?, notes?, pinned? }[]. |
| initialSort | 'newest' | 'oldest' | 'az' | 'za' | 'newest' | starting sort order; pinned items always sort first. |
| chipBase | number | 0.4 | base entrance-animation delay (seconds) before the first staggered element. |
| chipStep | number | 0.1 | per-element stagger step (seconds) for the entrance animation. |
| className | string | - | overrides on the root element. |