Vol. I · a datebook of software Still Up Since

How this is made.

A public prompt for rebuilding the catalog. Free, because the dates are the product.

Build a catalog site called "Still Up Since" about products that outlived the rumor they were finished.

Stack: Astro (server output, Cloudflare adapter) + Cloudflare D1. Vanilla JS for search, filters, votes, and a live age clock. No React.

Look: a datebook, not a terminal and not a generic cream blog. Manila index cards with a punched hole, a red ledger rule down the left margin, and circular rubber-stamp verdicts (Standing / Wavering / Hollow / Closed). Fraunces for years, Source Sans 3 for body. Optional dusk theme. No CRT black, no phosphor, no stock ticker, no fill-in-the-blank hero. No emoji. No em dashes in user-facing copy.

Data: editorial products are one JSON file each in src/data/products/. Featured Product Hunt listings are rows in D1 table hunts (npm run fetch:producthunt). Hunt date is not a founded date; clock starts at the hunt; editorial wins on slug/name. Labels in the UI: Standing / Wavering / Hollow / Closed.

Pages: / is "The archive" (search, filters, card grid). /hunted is the Product Hunt D1 catalog (paginated). /:slug is a library card: founded year, rubber-stamp verdict, running age, why it lasted, near-deaths, what would finish it, "I still use this" vote (D1, hashed IP, 24h), share, FAQ. /graveyard is the closed wing. /stats is the census. /submit nominates a name (honeypot). Footer email capture (honeypot, dedupe). /build-this-site is the colophon with this prompt.

SEO: server-rendered pages, question titles, canonical URLs, JSON-LD, sitemap, robots, OG images of the year-and-name card via workers-og.

MIT. No accounts, no payments, no third-party trackers.