Back to themes

Indexa

A listings directory theme: 109 pages, three browse hubs, a filter rail that works without JavaScript, 69 record pages, a saved-items dashboard, and a blog. For marketplaces, classifieds, and niche directories.


Cost

Paid


Indexa — the Astro theme for listings directories


  Indexa is a listings directory template for Astro, built for agencies and founders launching a marketplace, a classifieds site, or a niche directory. The demo indexes cars for sale across the UK —

 but the shape is any catalogue a visitor filters, compares, and saves. Designing that browsing experience from a blank repo is weeks of layout and state decisions; here it arrives built, and you

 swap the demo records for yours.



  By the numbers


  •   109 pages from 25 route files, counted from a production build
  •   69 record pages generated from typed config across three browse hubs
  •   98 section components across 18 page groups
  •   37 UI primitives and 7 content-aware cards, all tailwind-variants recipes
  •   578 icons in a typed registry, inlined at build time
  •   87 animation utilities, ported with no animation library
  •   9 runtime dependencies, building to 100% static HTML with no host adapter



  A full page set


  • Home, search, and saved items
  • Browse hubs for used, new, and electric listings, plus a reviews hub
  • A detail page per record (69 shipped) and a curated collection page
  • Specialists directory: a category page and a city page
  • Value, submit, and advertise pages for the supply side
  • 12 info pages (about, contact, careers, press, guides) from one config file
  • Blog index, 10 posts, 3 author bylines, and an RSS feed
  • Privacy, terms, a 404, and generated robots.txt, llms.txt, and sitemap



  The browsing loop, finished


  A directory lives or dies on one loop: a visitor lands on a hub, narrows a few hundred records to a handful, opens the ones that survive, and comes back later to decide. Every step that leaks

 sends them back to the search results.


  • Filter rail that degrades gracefully — the rail is config, not markup. A client-side engine reads the data attributes every card renders, then filters, sorts, and paginates in place. With JavaScript off, every record stays visible and every accordion still opens.
  • Record pages with provenance — a header with tags, a grouped spec sheet, a checks section, and related records. Featured records add a provenance ledger (filed, re-checked, price changes, saved count) and a histogram of where the price sits against every comparable record.
  • Saved items without an account — every card and record page has a save heart, writing to a localStorage store the dashboard reads. Corrupt or missing storage reads as an empty list, never an exception. When you add real accounts, the dashboard's data shape is already settled.
  • The supply side too — value, submit, and advertise pages that each end on a form, ready to point at your backend.



  The stack


  Astro 7.1, Tailwind CSS 4.3 (CSS-first tokens), TypeScript 6 in strict mode. Zod-validated content collections so bad frontmatter fails the build naming the entry. Native SEO throughout — meta,

 OpenGraph, JSON-LD, canonical URLs, sitemap, RSS — with no SEO plugin. Not a single client-side island directive in the tree; the few scripts (filter rail, save hearts, dashboard) are plain

 TypeScript enhancing server-rendered HTML.


  Verification is five commands — pnpm lint, pnpm check, pnpm build, pnpm test, and pnpm wiki:lint — with 12 self-check files that fail the build rather than ship quietly-broken parts.

 AI-assisted-coding ready: AGENTS.md, CLAUDE.md, five coding-rule files, and a 27-page wiki ship in the repo, so Claude Code or Cursor extends the site in the house style.



  Use this theme for


  • A marketplace or classifieds front end where visitors filter, compare, and save
  • A niche directory of businesses, specialists, or venues with category and city pages
  • A founder validating a directory idea on static HTML before building the backend
  • An agency shipping a listings site the client's developers will wire to their own API



  Not ideal for


A store that needs a cart and checkout

Live inventory on day one — records are typed config and forms have no provider wired, so data and submissions are yours to connect

A multilingual site


  Licence


  $49, one time, full source. One licence covers one developer for unlimited end products — your own sites and your clients' — with no per-site fee. The only restriction: don't resell or

 redistribute the template itself. Checkout is handled by Polar, merchant of record.


  Indexa is also included — along with every other AstroCraft theme, the AstroCraft CMS, and the astro-headless-ui block library — in the All-Access Pass, one purchase for the whole catalog.