# pointer

> Our open-source Next.js and MDX starter for marketing sites. Pages are MDX files composed from React components, managed as code in git.

**Category:** starter | **License:** MIT | **Updated:** 2026-08-31

## Install

```bash
git clone https://github.com/robotostudio/pointer
```

## Links

- Preview: https://pointer-roboto.vercel.app
- Source: https://github.com/robotostudio/pointer
- Related service: /services/nextjs

---

## What it is

pointer is a Next.js 16 starter for marketing sites where the content lives in the repository rather than a CMS. Each page is one MDX file in `content/pages/`, each post one file in `app/blog/posts/`, and both compose the same library of React components. There is no database and no runtime fetching: everything is statically generated at build time. You can see it running at [pointer-roboto.vercel.app](https://pointer-roboto.vercel.app).

The component library is the part that makes it usable for a full marketing site rather than a blog with extra steps. Hero, Feature, CTA, and stats sections cover page layout; pricing, testimonial, changelog, and feature cards cover the blocks that usually get rebuilt from scratch on every project; FAQ, logo cloud, callout, and button handle the rest. A pricing page is a few nested components in an MDX file, not a bespoke route.

Because content is code, everything git already does applies to it: full history, review on a pull request, a preview deployment per branch, and a coding agent that can edit pages without a CMS API in the way.

It runs on React 19, Tailwind CSS v4, and Zod v4, and it's the starting point for our [Next.js development](/services/nextjs) work.

## What you get

- File-based MDX content for pages and blog posts, with no CMS or database to run.
- A composable component library covering heroes, features, pricing, testimonials, changelogs, FAQs, and logo clouds.
- A blog with categories, filtering, and post-to-post navigation.
- Dynamic Open Graph images generated per page with custom fonts.
- SEO built in: sitemap, `robots.txt`, RSS feed, and JSON-LD structured data.
- System-aware dark mode with a light and dark toggle.
- Static generation throughout, so builds are fast and pages ship as static output.

## How to use it

Clone the repository and install dependencies.

```bash
git clone https://github.com/robotostudio/pointer
cd pointer
pnpm install
pnpm dev
```

Component props and examples are documented in `docs/MDX_COMPONENTS.md` in the repo.

## How we use it

pointer is where we start when a client needs a marketing site their developers will maintain in git, rather than an editorial workflow that calls for [Sanity](/services/sanity).