tailthemes
all-access

sent here for Grove

next.js saas landing page templateReact and HTML source

saas landing

GroveNext.js SaaS landing page template

A calm Next.js SaaS landing page template for finance and workflow products.

Live Preview
$34
both modes at 1280px
Grove home page, light mode
Grove home page, light mode
Grove home page, dark mode
lightdark
80 / 80
light / dark tokens
2
modes, both designed
1
DOM, rendered twice

Its 26 independent sections share one 3rem ledger pitch across transaction rows, checklists, comparison tables and the month-end register.

next.js saas landing page templatesaas website template tailwindtailwind saas landing pagemarketingtailwind-v4

Grove theme tour

Loading video

$34one-time · unlimited projects
39components · every one pictured below
Live Preview
  • unlimited projects, client work included
  • 12 months of updates
  • 14 days, no questions
license terms

AGENTS.md and 4 skills ship in the zip, so your own agent keeps changing it after you buy.

docs: install, use, customize
0111

pages, composed from 26 sections

Every page is a real render from the publish gate, in the mode on show. Open any of them in the live preview.

The neutral-first surface system keeps structure grey in both modes, reserves green for actions and selection, and gives information, positive, warning and critical states independent semantic roles. Fraunces, Instrument Sans and IBM Plex Mono ship self-hosted on a 1.250 type scale. Eleven routes cover home, pricing, journal, walkthrough, customer proof, a long-form guide, contact, privacy, sign-up, sign-in and a living component showcase. The customer story reuses one typed Fieldwork Studio fixture with exact pence arithmetic, six timed March sessions, source labels and sample-content boundaries. Three sample forms validate in the browser and draw their own error sentences rather than the vendor's. The subscribe and contact forms close on a designed success receipt. The auth form hands a valid submit to the native POST instead of claiming a sign-in it cannot verify. Monthly and yearly pricing is a React-edition control; the remembered mode toggle, the request form and the nav's disclosure run in both editions with no backend claim. The disclosure, the field, the submit flow and the error summary are vendored from a shared behaviour library, so Escape, focus return and focus-after-submit answer the same way in each. Every internal product link resolves; journal article links remain explicit CMS fixtures. Built for Tailwind v4, Next.js 15 and React 19. Nine generated photographs, one hand-drawn ledger illustration, prompts and four buyer skills ship with the source. All eleven routes also ship as a framework-free HTML template, compiled to standalone documents with local fonts and vanilla JavaScript, alongside the Nunjucks source they were built from.

0226 + 13

sections and primitives

You get the parts, not just the demo site. Every frame is a real capture from the theme's own styleguide page, and the source path under it is where the file lands in your project. 30 frames cover them, with 10 primitives sharing the ui/* frame.

hero

src/components/hero.tsx

Asymmetric-offset hero (A8): editorial headline, lead, one primary action and a subordinate text link in columns 2-7 of twelve, beside a token-built ledger panel that runs off the right frame edge from lg up and returns to the flow below it; the panel's four-cell summary rail is set at 130% of the panel so three cells and their closing hairline fill the frame and the fourth runs off it. The section ground is one radial paper wash. Owns the home page's h1, demotable to h2 via headingLevel for the styleguide

Grove Next.js SaaS landing page template — hero component at full size
1 / 30
0380

tokens, both modes

Change one variable and every part follows. Each badge is one token split down the middle: its light value on the left, its dark value on the right, with the theme's own paired ink on both halves.

roles10 of 80

hover or tab a badge for its name and both values, enter copies

supporting36
radius
0.75rem
0.25rem

The rules moved off the paper and into the ledger: every row-like structure in Grove — table row, checklist line, invoice row, summary rail cell, register row — is locked to one 3rem pitch with a hairline under it, so unrelated panels on unrelated pages line up like columns of the same book. (Through 2.1.0 the page ground was ruled at the same pitch; 2.2.0 removed the visible ruling and kept the structure it was tracing.)

every token

043

typefaces, self-hosted

Real woff2 files in src/fonts/, wired through next/font and licensed under OFL. Nothing is fetched from Google at build time, so the zip renders these letterforms offline. Scale ratio 1.25.

Grove

A calm Next.js SaaS landing page template for finance and workflow products. Its 26 independent sections share one 3rem ledger pitch across transaction rows, checklists, comparison tables and the month-end register.

const { open, close } = useLedger("2026-03") // 0123456789

icons · lucide-react · stroke 2
13px
14px
16px
display
Fraunces
text
Instrument Sans
mono
IBM Plex Mono
scaleratio 1.25
  • captionAg
  • smallAg
  • bodyAg
  • leadAg
  • d1Ag
  • d2Ag
  • d3Ag
  • d4Ag
05375–1920

every width is a real render from the publish gate

Four viewports, each one a render the gate produced and checked. Switch between them: the frame narrows exactly as a window does, because that is what it is.

home page at 1280px, light mode
Grove Next.js SaaS landing page template — home page at 1280px
1280
061

every token and every part on one page

The styleguide route is not documentation about the theme. It is a page in the zip that renders the real components from the real tokens, so it stays true the day you change one.

07138

files in the zip

Two independently authored editions: React for applications, plus ready HTML, CSS and vanilla JavaScript for static hosts.

what unzipsgrove-2.8.2.zip
  • AGENTS.mdthe theme's own rules, written for an agent
  • .claude/skills/4 skills, each one job
    • add-page/SKILL.mdCompose a new page for Grove from its existing sections, matching the shell, background rhythm and manifest entries of its ten product routes
    • add-section/SKILL.mdAdd a new self-contained section component to the Grove theme following its existing file, token and rhythm patterns, then wire it into a page and the manifest
    • check-quality/SKILL.mdRun Grove's source and runtime quality gates: types, build, semantic tokens, neutral-first colour roles, fixture arithmetic, manifest and showcase parity, links, headings, responsive states and accessibility.
    • rebrand/SKILL.mdRe-colour Grove by editing its semantic tokens, preserving neutral-first structure, independent interaction and status roles, complete light/dark mappings and computed WCAG evidence.
  • src/
    • theme.css80 tokens, light and dark
    • fonts.tsthe faces, wired to the type tokens
    • app/11 files
    • components/26 files
      • ui/15 files
    • assets/9 images, 1 markdown file
    • fonts/4 font files, 3 licenses
  • app/11 routes, plus layout.tsx and globals.css
  • theme.jsonthe manifest: tokens, components, pages
  • html/the framework-free edition
    • dist/11 compiled routes, deploy-ready — no build step
    • src/the Nunjucks source the routes compile from
  • scripts/build-html.ts · serve-html.ts — `bun run build:html` / `preview:html`
  • README.mdquickstart
  • 6 project filespackage.json · tsconfig.json · next.config.ts · postcss.config.mjs · env.d.ts · .gitignore
your agent reads these first
what it runs on
next >=15react >=19tailwind >=4HTMLlucide-reactstandard license
install into a project you already have
$ bunx shadcn add @tailthemes/grove

Your key goes in TAILTHEMES_LICENSE_KEY, and the registry entry goes in components.json. The snippet is on the docs page.

or run it standalone
$ unzip grove.zip && bun install && bun dev
Read this theme's AGENTS.md
084

skills your agent can run

Your agent reads AGENTS.md before it edits, then runs the skill that fits the change. The skills are the theme's own, and the publish gate makes an agent complete every one of them in a scratch copy before the theme goes live.

the source

39 components, 11 pages and 80 tokens, as a Next.js project.

the kit

AGENTS.md carries the design spec. Each skill is one job written against it.

add-pageadd-sectioncheck-qualityrebrand
your agent

Claude Code, Codex, or any agent that reads AGENTS.md. It runs on your machine, on your own account.

the new page

Built from the theme's own sections, on the same tokens and the same rhythm.

the spec travels with the code

The source is yours to run, edit and deploy.

The spec ships inside the folder, so the page your agent adds next month is built by the same rules as the ten it came with. Nothing calls back here.

What the standard license covers
before you decide
What do I actually get?
A runnable Next.js >=15 project — not a screenshot and not a component dump. 11 pages, 26 sections and 13 primitives, 80 light tokens with 80 dark overrides, self-hosted fonts, and every image generated for this theme. AGENTS.md and 4 skills ship inside the zip, so your own agent can keep changing it after you buy. The same pages also ship as a framework-free HTML edition, with local fonts and vanilla JavaScript.
Does it include the pages I'd otherwise have to build?
Grove ships home, pricing, customer story, journal, walkthrough, month-end guide, start free, sign in, contact, privacy and terms and the design system. Every one of them is a real route in the project with real content — you can open all of them in the live preview before you pay, and what you see there is what unzips.
Will it work with my stack?
Built for Tailwind >=4, Next.js >=15 and React >=19. Runtime dependencies are lucide-react — nothing else is required. The styling is tokens and Tailwind utilities, so it drops into an existing app rather than asking you to adopt a framework.
How long before it stops looking like a template?
The palette, type and spacing are 80 named tokens in one file, with 80 overrides for dark mode — change those and every screen moves together, which is the whole reason the theme is built as a system rather than as pages. Nothing here claims a number of hours: how long it takes depends on how far you move it.
Can I use it for client work?
Yes. One payment, unlimited projects, client work included, and 12 months of updates. Fourteen days to change your mind, no questions asked. The full terms are published, and this page and that page are the same source.
the other half
Appetite — home page

A SaaS is two builds, not one.

Grove is the site that sells the product. Appetite is the thing people log into once they have paid — same Tailwind version, same token architecture, so the two halves can be made to look like one company.

activity
39
components
sections + primitives
11
pages
all in the preview
last updated
v2.8.2
roadmap
  • v2.8.2: One sample-content caption per block, a computed close figure, no feature-grid icons and badges that do not wrap.
  • v2.8.1: The header's sign-up is a quiet Start trial so the hero holds the only fill, month-end no longer breaks across lines, and two missing spaces are back.
  • v2.8.0: The form core goes home — useValidatedForm is deleted and the library it seeded returns as a vendored part
  • v2.7.0: The motion fence, and the six recipes a calm theme allows
  • v2.6.2: Docs cover the HTML edition, and the check-quality skill lost a version pin that made its own script throw
  • v2.6.1: The listing now says which two sample forms end in a success receipt and why the auth form hands off to a real POST
  • v2.6: Separate Nunjucks source and framework-free HTML output for every route
  • v2.5: Neutral-first customer evidence route with exact sample close arithmetic
  • v2.4 — an illustration family on the 48px pitch, three photographs, six card marks
  • v2.3 — neutral ramp recast to a 150° sage undertone, both modes
  • v2.2 — rules into the ledger, /contact with the drawn map, /privacy, portraits, pricing switch
  • v2.1 — /month-end-guide: the prose surface the footer promised
  • v2.0 — Fraunces ledger type, ruled-paper signature, ochre accent
  • v1.6 — generated paper grain in the hero, token-tinted mask
  • v1.5 — token-driven background effects: ruled hero, washed CTA
  • v1.4 — /components living styleguide
  • v1.2 — signup, sign-in and walkthrough pages; every link resolves
  • v1.1 — lucide icon system + polish pass
  • v1.0.0 — pricing table people actually read
  • testimonial section variantsplanned
  • changelog pageplanned
for agents

This listing is also a markdown document and a JSON endpoint. The theme's own agent kit is on the kit and agents plates above.

/api/themes/grove
mcpsearch_themesget_themeget_componentdownload_theme