holostock is a small static web app for browsing in-stock merchandise.
Live site: https://tryp.tech/holostock/
- Shows items in a table with name, talent, price, availability, and date.
- Supports search, talent filtering, and quick toggles to hide digital, preorder, or made-to-order items.
- Lets users sort by name, date, price, or availability.
- Displays the latest build timestamp in the UI.
scripts/fetch-full-catalog.jspaginates the shop’s public Shopifyproducts.json(collectionall) and writes catalog snapshots underdata/.scripts/build-in-stock-table.jsconverts that data into frontend JSON files indata/.index.html+js/app.jsrender the SPA from those generated files..github/workflows/update-catalog.ymlruns the update pipeline hourly and deploys to GitHub Pages.
Shopify’s public JSON only exposes boolean availability (not numeric stock). Rows show In stock or Unlimited (digital / untracked).
From the repo root (Node 18+):
node scripts/fetch-full-catalog.js
node scripts/build-in-stock-table.js data/catalog-in-stock.json --output-json data/items.jsonThen serve the project with any static server (for example npx serve .) and open the local URL.
Deployment is handled by GitHub Actions via .github/workflows/update-catalog.yml.
The workflow updates data and publishes the site to GitHub Pages.