2026, astro

SiteShelf, a public shelf for the sites DevFactory builds

A site where a small business owner can browse 111 ready-made websites and tools, try each one live in a desktop, tablet or phone frame, and download its full source in one click. DevFactory built every site on it, and one command adds the next.

Visit the project (opens in a new tab)

DevFactory kept finishing small sites and tools, and they sat in a folder on my Mac where nobody could see them. SiteShelf puts them on one public site, free to take. It went live on 6 November 2026, and since 9 November it has its own address, siteshelf.dev (opens in a new tab).

The SiteShelf home page, with its headline, the counts of websites and tools, and a row of site screenshotsThe shelf on launch day: 31 websites and 75 tools.

What a visitor can do

  • Browse 111 sites and tools (34 websites and 77 browser tools for a business), filtered by business category, kind and style, or searched by name
  • Open any one and use it live inside a desktop, tablet or phone frame, the way a customer would
  • Download the full source as a zip, with no sign-up and no fee. Every zip is MIT licensed and opens with a START-HERE guide whose first section is for someone who has never installed Node

How a site gets on the shelf

One command, npm run onboard, scans the factory's storage folder and does the rest:

  • It reads each project's name, headline, palette and dates from the project's own files and git history
  • It asks Claude once per site for the parts that need judgement: the category, the style tags, the pages, the features and a one-sentence description
  • It reshoots the screenshots with Playwright at fixed sizes, so every card on the shelf is the same shape
  • It zips the source and rebuilds one catalog file, which is the only thing the pages read

A project that has not changed since the last run is skipped, so adding the newest few sites takes minutes.

Limits

  • Everything the onboarding command generates stays out of git, so the host cannot build the site from the repository. A deploy is a build on my Mac and an upload
  • Claude writes each listing once. A wrong category is fixed by hand, in a JSON file inside that project
  • There are no download counts and no request form yet

Stack

  • Astro, with two React islands: the gallery filter and the device frame
  • Playwright for the screenshots
  • claude -p for the one call per site
  • Netlify for hosting

astroreacttypescriptplaywrightnetlifyclaude code

All work