AstroSaaSCorporate WebsiteStarter

astro-njx-saas — Astro SaaS Template

By njbSaab

A product landing page starter template built on Astro, njX UI, and Alpine.js, including static page sections such as a hero area, navigation, feature cards, a reviews slider, a contact form, and theme switching.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-13View source

What stands out

A quick read of the recorded project description.

01

Astro static build, zero JS by default, with interactions declared in markup via Alpine.js

02

Import njx-ui/css/style.min.css to use njX UI style classes, with no Tailwind or design tokens required

03

Built-in 9 themes, switched via data-theme and persisted with localStorage, restored before first paint

04

Includes sections such as a hero area, navigation, About, Features, Showcase, a Reviews slider, a contact form, social pills, a footer, and a one-time modal

05

The Reviews slider supports autoplay, a progress bar, previous/next buttons, dots, and touch swiping

06

Brand and links are centralized in src/config.ts, while data such as cards and slides are placed in arrays within each component

Template Details

astro-njx-saas is a product landing page starter template. The README states its technology stack is Astro (handling components and static builds), njX UI (npm package njx-ui, providing style classes for cards, gradients, sliders, modals, etc.), and Alpine.js (handling interactions such as theme switching, sliders, and forms, with state written directly in the markup). The template does not use Tailwind and does not require configuring design tokens; it only needs to import njx-ui/css/style.min.css.

The page content is assembled by src/pages/index.astro, including a fixed glass navigation bar, a full-viewport hero area (with a click-to-copy announcement pill and a gradient CTA), an About section in the form of metric cards, Features with three showcase card styles, a Showcase with a checklist plus a mini card grid, a Reviews slider with autoplay, a progress bar, and touch swiping, a contact form with a gradient shell and success message, social pills, a footer, and a configurable "star us" modal that appears only once per visitor.

Customization is concentrated in three places: src/config.ts manages the brand name, links, hero pill text, and modal delay (set to 0 to disable); data arrays inside the About, Features, Showcase, and Reviews components manage metrics, cards, checklists, and slides; headings and paragraphs are written directly in the corresponding section components. For themes, njX UI provides 9 themes, switched via the data-theme attribute on the html element; the navigation bar dots save the selection to localStorage, and the layout restores it before first paint to avoid flicker.

The README does not provide specific information about form backend handling, SEO metadata, accessibility support, browser compatibility scope, or testing methods. The template outputs statically, and the README says it can be deployed to any host; the build command is npm run build, the output directory is dist, and it gives deployment entry points for Vercel, Netlify, and Cloudflare Pages.

AstroSaaSCorporate websiteStarter

Is it right for your project?

Use Cases

  • Quickly building a single-page landing page for a product launch or SaaS introduction
  • A static marketing page that needs multi-theme switching and local memory
  • An Astro project that wants to use an existing UI class library instead of writing styles from scratch
  • As an example for learning Astro component organization and Alpine.js in-markup state management

Suitable For

  • Developers using Astro who want to reduce style configuration work
  • Teams that accept njX UI component classes and the Alpine.js interaction approach
  • Projects that need static output and deployment to Vercel, Netlify, or Cloudflare Pages
  • Landing page needs where brand replacement and content filling are completed with a small number of files

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run npm install, then start with npm run dev; the default address is http://localhost:4321

  2. 2

    Modify the brand name, links, hero pill text, and modal delay in src/config.ts; set the delay to 0 to disable the modal

  3. 3

    Replace copy and data in the arrays of the About, Features, Showcase, and Reviews components, as well as in each section component

  4. 4

    The build command is npm run build, the output directory is dist, and it can be deployed to any static host

  5. 5

    The README does not explain the contact form's submission backend or data handling; confirm or supplement this yourself before use

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean that external services or third-party assets are free.

Must comply with when using

  • You may use, modify, commercialize, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The project materials mention an optional paid version or features; this entry only covers the public free code and does not include paid upgrades.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Compiled by DeepSeek based on repository license and README ·2026-10-13. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 85 / 100
Technologies
Astro
Website type
SaaS · Corporate Website · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-12
Screenshot last checked
2026-10-13

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: codex-user-requested-batch-review-20261017 · 2026-10-16

Inspect the recorded source material

SHA-256: a18d6a41b06b4788ecaf20abcaceee10ba41b8162f397705cfc4d5b0ff3b584b

2026-10-13T00:33:32.292Z

Source file / repository
# astro-njx-saas

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/njbSaab/astro-njx-saas) [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/njbSaab/astro-njx-saas)

> Part of **[njX Astro Themes](https://njxui.dev/themes)** — ecommerce storefronts & landing pages by one author, free today, Pro versions on the way.

**Product landing starter — Astro + [njX UI](https://njxui.dev) (npm: `njx-ui`) + Alpine.js.**

One CSS import, nine runtime themes, ~30 lines of custom chrome. Every element on
the page is an njX UI class; interactivity is plain Alpine `x-data` right in the
markup; Astro renders it all to static HTML.

**Live demo:** https://astro-njx-saas.pages.dev

![astro-njx-saas preview](./screenshot.png)

## What you get

- **Full-viewport hero** with a signature glow, a click-to-copy announcement pill and gradient CTAs
- **Sticky glass navbar** — gradient logo, anchor links, 9-theme dot switcher, burger menu on mobile
- **About** with metric cards, **Features** on three showcase card styles (`card-aura` / `card-shine` / `card-outline-gradient`)
- **Showcase** — checklist + mini-card grid on a soft glow backdrop
- **Reviews slider** — autoplay, progress bar, prev/next, dots, touch swipe (library `.hero-slider` + one Alpine object)
- **Contact form** in a gradient shell with a success toast
- **Social pills**, footer, and a configurable once-per-visitor "star us" modal

## The stack

| Layer | Tool | Why |
| ----- | ---- | --- |
| Markup & build | [Astro](https://astro.build) | Components, zero JS by default |
| Look | [njX UI](https://njxui.dev) — 44 KB gzip | Ready blocks: cards, gradients, sliders, modals |
| Interactivity | [Alpine.js](https://alpinejs.dev) | Theme switch, slider, form — state lives in the markup |

No Tailwind, no design tokens to configure — `import 'njx-ui/css/style.min.css'`
and you're styling.

## Quick start

```bash
git clone https://github.com/njbSaab/astro-njx-saas my-landing
cd my-landing
npm install
npm run dev
```

Open `http://localhost:4321`, then make it yours:

1. **`src/config.ts`** — name, links, the hero pill snippet, star-popup delay (0 disables it).
2. **Data arrays** in `src/components/{About,Features,Showcase,Reviews}.astro` — metrics, cards, checklist, slides.
3. **Copy** — headings and paragraphs live right in the section components.

## What's inside

```
src/
├── config.ts                 # brand, links, popup — rebrand in one file
├── layouts/Layout.astro      # njX UI import · theme restore · page-wide Alpine state
├── styles/global.css         # site chrome: navbar, hero sizing, form shell (~380 lines)
├── components/
│   ├── Nav.astro             # sticky header + mobile burger menu
│   ├── Hero.astro            # 100dvh hero + copyable CDN pill
│   ├── About.astro           # metric cards (data-driven)
│   ├── Features.astro        # three showcase card styles (data-driven)
│   ├── Showcase.astro        # checklist + mini-card grid (data-driven)
│   ├── Reviews.astro         # hero-slider: autoplay · progress · dots · swipe
│   ├── Contact.astro         # gradient form shell + success toast
│   ├── Social.astro          # social-list-pills
│   ├── StarModal.astro       # once-per-visitor modal (lib-modal-*)
│   └── Footer.astro
└── pages/index.astro         # assembles the sections
```

## Themes

njX UI ships 9 themes driven by one attribute:

```html
<html data-theme="dark">   <!-- dark · light · red · blue · green · cyan · yellow · pink · purple -->
```

The navbar dots persist the choice to `localStorage`; the layout restores it
before first paint (no flash).

## Deploy

[![Deploy to Cloudflare Pages](https://img.shields.io/badge/Deploy%20to-Cloudflare%20Pages-f38020?logo=cloudflarepages&logoColor=white)](https://dash.cloudflare.com/?to=/:account/pages/new)
[![Deploy to Netlify](https://img.shields.io/badge/Deploy%20to-Netlify-00c7b7?logo=netlify&logoColor=white)](https://app.netlify.com/start/deploy?repository=https://github.com/njbSaab/astro-njx-saas)

Static output — any host works. Build command `npm run build`, output directory `dist`.

## Learn more

- njX UI documentation: https://njxui.dev/documentation (Astro 🚀 and Alpine 🏔 modes)
- Alpine presets for njX components: https://njxui.dev/documentation#njx-alpine
- More ready-made landings: https://njxui.dev/examples
- Classless sibling library: https://classless.njxui.dev

## License

MIT — use it for anything, no attribution required.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.