Skip to content
/ precedent Public template

An opinionated collection of components, hooks, and utilities for your Next.js project.

License

Notifications You must be signed in to change notification settings

steven-tey/precedent

Repository files navigation

Precedent – Building blocks for your Next project

Building blocks for your Next project

Steven Tey Twitter follower count Precedent repo star count

Introduction · One-click Deploy · Tech Stack + Features · Author


Introduction

Precedent is an opinionated collection of components, hooks, and utilities for your Next.js project.

One-click Deploy

You can deploy this template to Vercel with the button below:

Deploy with Vercel

You can also clone & create this repo locally with the following command:

npx create-next-app precedent --example "https://github.com/steven-tey/precedent"

Then, install the dependencies with your package manager of choice:

npm i
yarn
pnpm i

Tech Stack + Features

precedent-demo.mp4

Frameworks

  • Next.js – React framework for building performant apps with the best developer experience
  • Clerk - A comprehensive user management platform with beautifully designed, drop-in React components

Platforms

  • Vercel – Easily preview & deploy changes with git

UI

  • Tailwind CSS – Utility-first CSS framework for rapid UI development
  • Radix – Primitives like modal, popover, etc. to build a stellar user experience
  • Framer Motion – Motion library for React to animate components with ease
  • Lucide – Beautifully simple, pixel-perfect icons
  • next/font – Optimize custom fonts and remove external network requests for improved performance
  • ImageResponse – Generate dynamic Open Graph images at the edge

Hooks and Utilities

  • useIntersectionObserver –  React hook to observe when an element enters or leaves the viewport
  • useLocalStorage – Persist data in the browser's local storage
  • useScroll – React hook to observe scroll position (example)
  • nFormatter – Format numbers with suffixes like 1.2k or 1.2M
  • capitalize – Capitalize the first letter of a string
  • truncate – Truncate a string to a specified length
  • use-debounce – Debounce a function call / state update

Code Quality

  • TypeScript – Static type checker for end-to-end typesafety
  • Prettier – Opinionated code formatter for consistent code style
  • ESLint – Pluggable linter for Next.js and TypeScript

Miscellaneous

  • Vercel Analytics – Track unique visitors, pageviews, and more in a privacy-friendly way

Author