Upshot: Motion-led marketing measurement SaaS landing page template for Next.js.

  • Next.js 16
  • Tailwind CSS v4
  • TypeScript
  • 12 sections
  • Light
  • No API keys
  • Palette
  • Updated Oct 14, 2026
hairlineui.com/demo/upshot
The first screen of the Upshot landing page template

01Overview

At a glance

A complete, motion-first site for a product that sells on proof. Upshot positions a measurement platform around one uncomfortable truth, that ad platforms take credit for sales they didn't cause, and every section shows it with dots: claimed in white, caused in yellow. Every figure and label that changes morphs instead of swapping.

Made for

  • Analytics, attribution and marketing measurement products
  • Data and finance SaaS that books demos and prices by usage
  • Any B2B product whose pitch is a number it can prove
  • Live scoreboard: forty dots per channel go from what the platform claims to what the holdout measured, with rolling figures
  • Scroll-built chart of claims stacking past your actual revenue, and a product tour whose screens arrive through a halftone
  • Stacking customer stories, a sixty-dot setup dial and a closing field of dots that light under the pointer
  • Story, blog and legal pages included; every button goes to your booking link; loops hold under the pointer and respect reduced motion

02The look

Its own palette and type

The colours and type it ships with. Tap a colour to copy it.

  • AaHost GroteskIncluded with the template

    The quick brown fox jumps over the lazy dog

    0123456789

  • AaDotoIncluded with the template

    The quick brown fox jumps over the lazy dog

    0123456789

Host Grotesk for words, set tight and large, and Doto, a dot-matrix face whose weight is the size of its dots, for every figure, so numbers power on as they arrive. A white page with mist and ink panels inset from the edge, faint column lines, and a single LED yellow. Product screens are light WebP images; photographs of fictional brands carry the customer stories.

03Sections

12 sections, in page order

From the first screen to the footer.

  1. 01

    Hero

    A headline with a dot pill inside it that lights its dots and leaves two of them yellow, highlighted phrases, a photograph with a live-test tag, and a scoreboard that turns forty claimed sales into the ones the ads caused, channel by channel, with tabs and rolling figures. A brand strip runs under the panel.

  2. 02

    Navigation

    A sticky bar whose mist tray has a white thumb that glides to the link under the pointer and rests on the section you're reading; on phones the bar grows into the menu.

  3. 03

    The problem

    A chart built by scrolling: each platform's claim stacks past the line for your actual revenue, the excess is crosshatched as never having happened, then the measured bar fills in yellow far short of it.

  4. 04

    Product

    Four modules with a filling line that hands over to the next, and product screens that arrive through a halftone of growing dots. A yellow band of data sources sits under the dark panel.

  5. 05

    Customers

    Story cards that stick and stack, each a full photograph with a receipt of what the platform said, struck through, and what was measured, plus a page for every story.

  6. 06

    Proof

    Three tiles: a headline figure over a strip of a hundred dots, a test count over a year of weekly test dots, and a customer quote with time to first answer.

  7. 07

    How it works

    A team photograph beside a dial ringed by sixty dots that fill twenty at a time as each step takes the centre, with step tabs.

  8. 08

    Comparison

    Dashboards against Upshot, row by row: each dashboard answer is struck through as the Upshot answer lights, closing on a finance lead's quote.

  9. 09

    Quotes

    One large quote at a time; faces open into name pills with a ring that fills while each quote is up.

  10. 10

    Pricing

    Three plans priced by monthly ad spend with a monthly/yearly toggle whose prices roll; plan buttons go to your booking link.

  11. 11

    FAQ and field notes

    An accordion beside a sticky intro, then three notes from the blog with dot-art covers, each with its own article page.

  12. 12

    Closing and footer

    A dark panel of dots that light up yellow under the pointer, then a footer whose dot-type wordmark powers on as it scrolls in.

04Built with

Motion from our free library

Free components from our library, included so you can use them anywhere on your page.

05Make it yours

Where everything lives

Everything on the home page, and every destination, lives in site.config.ts; customer stories, notes and legal text live in content/. Set your booking link once and every demo button follows. The palette is a handful of CSS variables, and the screens are images you replace with your own at the same proportions.

Where to change each part of Upshot
To changeEdit
Brand, copy, the scoreboard, chart shares, modules, steps, plans and questionssite.config.ts
Where the buttons go (booking page, sign-in, email)site.config.ts → links
Customer stories, field notes and legal pagescontent/
Palette: LED yellow, ink, mist greysapp/globals.css
Fontsapp/layout.tsx
Product screens, photographs and covers (sizes in the README)public/images/ and site.config.ts

Run it

$ npm install$ npm run dev

Node.js 20.9 or newer. No environment variables.

Before you go live

Replace the fictional company, customers, quotes and figures. Set links.demo to your booking page (and links.signIn if you have an app) in site.config.ts, rewrite the stories and notes in content/, have the legal text reviewed, then swap the screens for your own product.

06Specifications

What’s under the hood

sections
12
source files
81
lines of code
~4,900
dependencies
4
API keys needed
0

Stack

Framework
Next.js 16 (App Router), React 19
Language
TypeScript
Styling
Tailwind CSS v4 with design tokens and component styles
Dependencies
nextreactreact-domlucide-react

Design

Fonts
Host Grotesk, Doto, self-hosted with next/font
Images
Nineteen WebP images made for Hairline UI templates: four product screens and three note covers rendered at 2×, six photographs (a runner, four fictional brands and a team) and six portraits, about 1.7 MB in all. The mark is SVG; client names are set in type.
Colour scheme
Light
Responsive
Desktop, tablet and phone

Quality

Accessibility
Skip link, visible focus, keyboard navigation, reduced motion
API keys and environment variables
None
Node.js
20.9 or newer

Shipping

Deploys to
Vercel, Netlify, Cloudflare Pages or any Node host
Codebase
81 source files, about 4,900 lines
Last updated
Oct 14, 2026

07License

One license, no tiers

The full text ships as LICENSE.md in the download and is on the license page.

You can

  • Use it for your own products
  • Use it for any number of client projects
  • Change the code and design however you like
  • Deploy the result commercially

You can’t

  • Resell or share the files as a template, theme or UI kit
  • Publish the source as a template in a public repository

08Questions

Before you buy

What do I get when I buy Upshot?

The complete Upshot project as a download: the Next.js app, its config file, a README with setup and customisation notes, and the license. It’s added to your account’s library the moment payment goes through.

Can I use Upshot for client projects?

Yes. One purchase covers your own products and any number of client projects, and you can change the code however you like. What you can’t do is resell or share the template files themselves as a template or UI kit.

Do I need API keys, a database or a backend?

No. It runs with npm install and npm run dev and deploys to Vercel, Netlify or Cloudflare Pages without any environment variables.

What should I change before I launch?

Replace the fictional company, customers, quotes and figures. Set links.demo to your booking page (and links.signIn if you have an app) in site.config.ts, rewrite the stories and notes in content/, have the legal text reviewed, then swap the screens for your own product.

Do I need to know Next.js?

Basic React helps, but most changes are text edits in site.config.ts. The README walks through colours, fonts and section order.

How do updates work?

Updates to Upshot are free. When a new version ships, download it again from your library.

Can I get a refund?

Yes. If Upshot isn’t right for you, email support@hairlineui.com within 14 days and you get your money back. No reason needed.

Should I buy all-access instead?

If you’ll use more than two templates, yes. All-access is $99 for all 39 templates, including Upshot and every template added later. Three single templates would cost $117.

09All-access

Every template, one price

All 39 templates for $99.

Every template in the library, including Upshot, and every one added later. Same license, free updates. Less than three single templates.

  • Upshot
  • Bulkhead
  • Tandem
  • Offscript
  • Plumb
  • Inlay
  • Tessera
  • Aveniq
  • Turnout
  • Bounce
  • Oddline
  • Goodfolk
  • Daymark
  • Encore
  • Shear
  • Notch
  • Serein
  • Rivet
  • Vela
  • Sylva
  • Aster
  • Arclo
  • Daybreak
  • Conduit
  • Index
  • Footnote
  • Cutroom
  • Halftone
  • Emberline
  • Influence
  • Marlow
  • Parley
  • Fourteen
  • Kept
  • Stillform
  • Prism
  • Tempo
  • Patch
  • Relay