Soon

Soon gives launches, pre-orders and waitlists a landing page with a signup form, product facts, reservation options and a timeline that shows the current stage.

$47 USD

Buy now

Secure payment via Stripe

Live preview ↗
Best for
Best for product launches, pre-orders and waitlists that need to collect interest, explain progress or take reservation deposits
Platform
Astro
Status
On sale
Price
$47 USD
Version
1.0.0
License
Astro edition: Peachfin Themes Astro License (LICENSE in the download). Photographs CC0 1.0 (ASSETS.json). Bundled font SIL OFL 1.1 (public/fonts/OFL.txt).
Demo photography is licensed separately from theme code

Page inventory

Home
Home
Waitlist
Detail
Launch timeline (optional)
Detail
Reservations (optional commerce)
Shop
reservation categories
Archive
reservation details
Product
Updates
Journal
update entries
Post
tag pages
Archive
About
About
Contact
Contact
Questions
Utility
Shipping
Utility
Deposits and refunds
Utility
Privacy
Utility
Search
Utility
Photo credits
Utility
404
Utility
Cart and checkout confirmation (optional cart)
Utility

Design controls

Identity and navigation
src/site.config.ts holds the site identity, canonical URL, navigation, footer and visible wording.
Colors and fonts
theme.colors sets the mint, ink and paper palette, while theme.fonts sets the display and body font stacks.
Page widths
theme.readingWidth, wideWidth and gutter set text width, overall width and side spacing.
Home content
home sets the opening photograph, headline, facts, story and closing waitlist band, with limits for reservations, updates and questions.
Launch timeline
features.launchTimeline hides the timeline and its links when false; launch.status supplies the header status instead.
Reservations
commerce.enabled removes reservation pages, prices and checkout when false, leaving the waitlist available.
Form endpoints
waitlist.formAction and contact.formAction connect your form services; empty endpoints use email fallbacks.
Footer credit
footer.attribution controls the theme credit, including whether it appears.

Features

  • The home page combines a split photo and waitlist section with product facts, a story, reservation options and updates.
  • The signature launch timeline shows Done, Now and Next stages on the home page, with longer notes on its own page and the current stage in the header.
  • Waitlist forms post an email address and optional region to your form service, with an email button when no endpoint is configured.
  • Reservation pages show deposits, optional full launch prices, photographs, specifications and variants for up to two options.
  • Each product or variant can use a checkout link from Stripe Payment Links, Polar, Lemon Squeezy or Shopify.
  • The optional Stripe Checkout cart requires a server adapter and your own Stripe secret key.
  • The optional EmDash edition runs on Node.js or Cloudflare and lets you edit menus and site settings in EmDash.

What the download includes

  • Soon 1.0.0 includes Astro source with content collections for products, categories, milestones, updates and pages.
  • The demo photographs use CC0 1.0, with source and creator records in ASSETS.json and src/data/photos.json.
  • Archivo 800 is bundled with its SIL Open Font License; body text uses fonts installed on the visitor's device.
  • README.md and GETTING-STARTED.md explain content editing, waitlist forms, reservations and deployment.
  • CUSTOMIZE.md provides a buyer editing checklist, and AGENTS.md explains the file structure and editing rules for coding agents.
  • Sample shipping, deposit refund and privacy pages provide text to replace with your own policies.

Setup

  1. Use Node 24 LTS or Node 22 LTS, version 22.19.0 or later, to work with the source.
  2. Install dependencies with npm ci and start the preview with npm run dev.
  3. Replace the demo content and photographs, then set your identity, URL, colors and wording in src/site.config.ts.
  4. Connect your form endpoints and verify submissions on a preview deployment, or leave the endpoints empty for email fallbacks.
  5. For reservations, configure and test checkout links or add a server adapter and your Stripe secret key for the optional cart.
  6. For EmDash, use Node 24.15 or later, or Node 22.22.2 or later. Run npm run emdash:setup for Node.js or add — –target cloudflare for Cloudflare; edit menus and site settings in EmDash.
  7. Run npm run check, npm test, npm run test:commerce-off, npm run test:checkout and npm run build after editing.
  8. Deploy the static dist/ output at the domain root, or use the server deployment required by the cart or EmDash.

Soon is an Astro landing-page template for launches, pre-orders and waitlists, priced at $47 USD one-time. It gives visitors a place to learn about your product, follow its development and register interest before release. The demo uses Stake, a fictional solar soil sensor from Fieldbench, as example content you replace. A split photograph and signup panel lead into product facts, a story, reservation options, updates and questions, with Archivo headings, square corners and mint and ink colors.

The launch timeline is Soon’s signature feature. Milestone files supply dates, summaries and completion states for a track on the home page, a full timeline page and the current stage in the header. Stages appear as Done, Now and Next, and can link to published updates. Set features.launchTimeline to false in src/site.config.ts to remove the timeline and its links. You can also disable commerce for a waitlist-only launch, and sections such as the facts row and box list disappear when their content is empty.

Waitlist forms post an email address and optional region to a configurable HTTPS endpoint; your form service receives submissions and displays its confirmation page. An empty endpoint replaces the form with an email button. Contact forms also use a configurable endpoint with an email fallback. When you take reservation deposits, each product or variant can link to Stripe Payment Links, Polar, Lemon Squeezy or Shopify checkout. The optional Stripe Checkout cart is off by default and needs a server adapter and your own Stripe secret key. Its checkout checks used mocked Stripe; hosted adapter and Stripe test-mode payments remain unverified. Your payment provider handles orders, refunds and any later balance collection.

Products, milestones, updates and pages live in the source content folders, while src/site.config.ts holds site settings and wording. Use CUSTOMIZE.md for the replacement checklist and AGENTS.md to edit the template with any coding agent. The optional EmDash edition switches with npm run emdash:setup for Node.js or npm run emdash:setup -- --target cloudflare for Cloudflare, with menus and site settings edited in EmDash. Replace the sample policies and verify your forms and payment configuration on a preview deployment before publishing.

Similar themes