Next.jsReactStarter

nextjs-corgi-starter — Next.js Starter Template

By cardog-ai

A VIN decoding starter template based on Next.js and @cardog/corgi, offering two modes: browser-side offline decoding and Cardog API server-side decoding.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-14View source

What stands out

A quick read of the recorded project description.

01

Offers two modes: browser offline decoding and Cardog API server-side decoding

02

In browser mode, automatically fetches the VPIC database from Cardog CDN on first use, with no manual download required

03

Uses Next.js, TypeScript, and Tailwind CSS, with UI based on shadcn/ui components

04

Includes page components such as a VIN input form and decoding result display, plus decoding logic under lib

05

README provides a Vercel one-click deploy button and manual build/start deployment steps

Template Details

This template is used to build VIN (Vehicle Identification Number) decoding applications, with the core dependency being the @cardog/corgi decoding library. The README explains that it provides two decoding methods: the browser mode performs offline decoding on the client using a local database, automatically fetching the latest VPIC database from Cardog's public CDN on first use; the API mode decodes on the server via the Cardog API, requiring NEXT_PUBLIC_CARDOG_API_URL and NEXT_PUBLIC_CARDOG_API_KEY to be configured in .env.local.

The project structure includes app/ (layout, main page, global styles), components/ (VIN input form, decoding result display, and shadcn/ui components), and lib/ (browser decoder, API decoder, and utility functions). The README mentions the tech stack as Next.js, TypeScript, and Tailwind CSS, and lists a one-click deploy button for Vercel and manual build/deploy steps, but does not provide specific version numbers, performance data, or production environment validation notes.

Next.jsStarter

Is it right for your project?

Use Cases

  • Building a web application that requires entering a 17-digit VIN and displaying vehicle information
  • Using browser-side offline decoding in scenarios without network access or where server-side calls are to be avoided
  • Decoding on the server via the Cardog API and centrally managing API credentials
  • Using this template as a starting point to extend custom pre- and post-decoding processing logic

Suitable For

  • Next.js project developers who need VIN decoding functionality
  • Teams that want to retain both offline and API decoding paths
  • Developers customizing the interface with Tailwind CSS and shadcn/ui

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning or using this template via create-next-app, run npm install (or pnpm/yarn install)

  2. 2

    For API mode, copy .env.example to .env.local and fill in NEXT_PUBLIC_CARDOG_API_URL and NEXT_PUBLIC_CARDOG_API_KEY

  3. 3

    Run npm run dev to start the development server; browser mode will automatically fetch the VPIC database

  4. 4

    For production deployment, run npm run build followed by npm start, or use the Vercel one-click deploy button in the README

  5. 5

    The README mentions that public/vpic.lite.db.gz must be added manually, but browser mode fetches the database from Cardog CDN by default

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
  • API mode requires a Cardog API key, which must be obtained by registering at cardog.ai (available for free).
  • Browser mode requires network access on first use to automatically download the VPIC database from Cardog's CDN; fully offline first-time initialization is not possible.
  • Browser mode relies on Cardog's public CDN to provide the VPIC database, defaulting to its external service address.
  • public/vpic.lite.db.gz must be added manually; the repository does not include this database file.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

> Get your free API key at [cardog.ai](https://cardog.ai)

Original README

Browser mode automatically fetches the latest VPIC database from Cardog's CDN on first use - no manual download needed!

Original README

Browser mode fetches the latest VPIC database from Cardog's public CDN (`https://corgi.cardog.io/vpic_lite_latest.db.gz`).

Original README

│ └── vpic.lite.db.gz # VPIC database (add manually)

Original README
https://github.com/cardog-ai/nextjs-corgi-starter/blob/main/LICENSEhttps://github.com/cardog-ai/nextjs-corgi-starter/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-14. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 80 / 100
Technologies
Next.js · React
Website type
Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-03-22
Screenshot last checked
2026-10-14

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15

Inspect the recorded source material

SHA-256: dd0ccd057ccfa951bd03a69bd6d03bd2952de040767628f672262af84de28c30

2026-10-14T15:44:40.688Z

Source file / repository
# Next.js + Corgi VIN Decoder Starter

A modern, production-ready Next.js starter template for building VIN decoder applications using [@cardog/corgi](https://github.com/cardog-ai/corgi) - the fastest open-source VIN decoding library.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/cardog-ai/nextjs-corgi-starter&env=NEXT_PUBLIC_CARDOG_API_URL,NEXT_PUBLIC_CARDOG_API_KEY&envDescription=Optional%20API%20credentials%20for%20server-side%20VIN%20decoding&envLink=https://cardog.ai)

![Next.js](https://img.shields.io/badge/Next.js-14-black?logo=next.js)
![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue?logo=typescript)
![Tailwind CSS](https://img.shields.io/badge/Tailwind-CSS-38B2AC?logo=tailwind-css)

## Features

- **Dual Decoding Modes**
  - **Browser Mode**: Fully offline VIN decoding with client-side database
  - **API Mode**: Server-side decoding via Cardog API
- **Modern Stack**: Next.js 14, TypeScript, Tailwind CSS
- **Beautiful UI**: Clean, responsive interface with shadcn/ui components
- **Production Ready**: Optimized build, type-safe, error handling
- **SEO Friendly**: Server-side rendering, meta tags, sitemap ready
- **One-Click Deploy**: Deploy to Vercel with a single click

## Quick Start

### 1. Create Your Project

```bash
# Clone or download this template
npx create-next-app@latest my-vin-decoder --example https://github.com/cardog-ai/nextjs-corgi-starter

# Or clone directly
git clone https://github.com/cardog-ai/nextjs-corgi-starter.git my-vin-decoder
cd my-vin-decoder
```

### 2. Install Dependencies

```bash
npm install
# or
pnpm install
# or
yarn install
```

### 3. Configure Environment (Optional)

For API-based decoding, create a `.env.local` file:

```bash
cp .env.example .env.local
```

Edit `.env.local` and add your Cardog API credentials:

```env
NEXT_PUBLIC_CARDOG_API_URL=https://api.cardog.ai
NEXT_PUBLIC_CARDOG_API_KEY=your_api_key_here
```

> Get your free API key at [cardog.ai](https://cardog.ai)

### 4. Run Development Server

Browser mode automatically fetches the latest VPIC database from Cardog's CDN on first use - no manual download needed!

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) and start decoding VINs!

## What's Included

```
nextjs-corgi-starter/
├── app/
│   ├── layout.tsx          # Root layout with metadata
│   ├── page.tsx            # Main VIN decoder page
│   └── globals.css         # Global styles & theme
├── components/
│   ├── vin-input.tsx       # VIN input form with mode toggle
│   ├── vin-result.tsx      # Decoded vehicle information display
│   └── ui/                 # shadcn/ui components
│       ├── button.tsx
│       ├── card.tsx
│       ├── input.tsx
│       └── badge.tsx
├── lib/
│   ├── utils.ts            # Utility functions
│   ├── vin-decoder-browser.ts  # Browser-based decoder
│   └── vin-decoder-api.ts      # API-based decoder
├── public/
│   └── vpic.lite.db.gz     # VPIC database (add manually)
└── package.json
```

## Customization

### Styling

This template uses Tailwind CSS with a customizable theme. Edit `tailwind.config.ts` to change colors, fonts, and more:

```typescript
// tailwind.config.ts
theme: {
  extend: {
    colors: {
      // Add your brand colors
      brand: {
        primary: '#your-color',
        secondary: '#your-color',
      }
    }
  }
}
```

### Components

All UI components are in `components/ui/` and follow the shadcn/ui pattern. Customize them or add more:

```bash
# Add more shadcn components
npx shadcn-ui@latest add <component-name>
```

### Decoding Logic

Extend or modify the decoding logic in `lib/`:

```typescript
// lib/vin-decoder-browser.ts
export async function decodeBrowser(vin: string) {
  // Add custom preprocessing
  const cleanVin = vin.trim().toUpperCase();

  // Decode with additional options
  const result = await decodeVIN(cleanVin, adapter, {
    includePatternDetails: true, // Enable for detailed analysis
  });

  // Add custom postprocessing
  return enhanceResult(result);
}
```

## Deployment

### Deploy to Vercel (Recommended)

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/cardog-ai/nextjs-corgi-starter&env=NEXT_PUBLIC_CARDOG_API_URL,NEXT_PUBLIC_CARDOG_API_KEY&envDescription=Optional%20API%20credentials%20for%20server-side%20VIN%20decoding&envLink=https://cardog.ai)

1. Click the button above
2. Connect your GitHub account
3. Configure environment variables (if using API mode)
4. Deploy!

### Manual Deployment

```bash
# Build for production
npm run build

# Start production server
npm start
```

### Database Hosting

Browser mode fetches the latest VPIC database from Cardog's public CDN (`https://corgi.cardog.io/vpic_lite_latest.db.gz`).

The database is:
- **Always up-to-date**: Automatically updated monthly
- **Globally distributed**: Fast downloads worldwide via Cloudflare
- **Free to use**: No API key required for browser mode

Want to host your own? Modify `lib/vin-decoder-browser.ts` to point to your CDN URL.

## Usage Examples

### Basic VIN Decoding

```typescript
import { decodeBrowser } from "@/lib/vin-decoder-browser";

const result = await decodeBrowser("1HGCM82633A123456");

console.log(result.components.vehicle);
// {
//   make: 'Honda',
//   model: 'Accord',
//   year: 2003,
//   bodyStyle: 'Sedan',
//   ...
// }
```

### With Error Handling

```typescript
try {
  const result = await decodeBrowser(vin);

  if (!result.valid) {
    console.error("Invalid VIN:", result.errors);
    return;
  }

  // Use the decoded data
  displayVehicle(result.components.vehicle);
} catch (error) {
  console.error("Decode failed:", error);
}
```

## API Reference

### Browser Decoder

```typescript
import { decodeBrowser, getDatabaseStatus } from "@/lib/vin-decoder-browser";

// Decode a VIN
const result = await decodeBrowser("VIN17CHARACTERS");

// Check database status
const status = getDatabaseStatus();
console.log(status.initialized); // true/false
```

### API Decoder

```typescript
import { decodeAPI, isAPIConfigured } from "@/lib/vin-decoder-api";

// Check if API is configured
if (isAPIConfigured()) {
  const result = await decodeAPI("VIN17CHARACTERS");
}
```

## Contributing

Contributions are welcome! This template is designed to showcase [@cardog/corgi](https://github.com/cardog-ai/corgi).

1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Open a Pull Request

## License

MIT License - feel free to use this template for any project!

## Acknowledgments

Built with:
- [@cardog/corgi](https://github.com/cardog-ai/corgi) - Fast, offline VIN decoding
- [Next.js](https://nextjs.org/) - React framework
- [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS
- [shadcn/ui](https://ui.shadcn.com/) - Beautiful components
- [Cardog](https://cardog.ai) - Automotive data platform

---

**Made by the automotive developer community**

Need help? [Open an issue](https://github.com/cardog-ai/nextjs-corgi-starter/issues) or visit [cardog.ai](https://cardog.ai)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.