Skip to content
test3.dt.tools
A clean product starting point

Launch the next focused tool with confidence.

A Vercel-first Next.js foundation with consent-gated analytics, product-owned identity and data, and the operational pieces a real launch needs.

Explore the test app

Next.js · Vercel · Neon · Drizzle · Clerk

export async function GET() {
  return Response.json({ ok: true });
}

The product owns its schema and release workflow; reusable presentation stays in packages.

How it works

A deliberately small, shippable foundation.

01

Make it yours

Replace this app-owned configuration with focused product copy and a real domain.

02

Link providers

Connect founder-owned Neon and Clerk through Vercel, then pull Development env values locally.

03

Ship safely

Vercel publishes previews; the mainline workflow migrates the protected database before production deploy.

Included

The baseline every real product deserves.

Product copy and data stay local; stable presentation and tooling are shared.

// landing

Config-driven landing

A polished shared template with app-owned messaging, metadata, JSON-LD, and Open Graph output.

// legal

Legal and consent

Privacy, terms, contact, and cookie-consent components are direct imports from @dt/ui.

// analytics

Consent-gated PostHog

Analytics starts opted out and only captures after an explicit visitor choice.

// identity

Local identity model

Clerk authenticates people; a local Neon UUID is the primary key for every product table.

// data

App-owned Drizzle

Schema, SQL migrations, restore instructions, and database access live with this deployable app.

// release

Serialized production

One mainline workflow runs the reviewed migration before building, deploying, and smoke testing.

Architecture

Three environments, one release path.

Development, native previews, and protected production are intentionally separated.

Your machine

Development

Local
  • Neon development branch
  • Clerk Development instance
  • Vercel env pull
Start locally
Every branch

Preview

Native
  • Vercel auto-deploy
  • Disposable Neon branch
  • Preview-safe credentials
Review a preview
Serialized

Production

Main
  • Protected Neon branch
  • Production Clerk instance
  • Migrate then deploy
Read the release plan

This is an environment model, not a pricing table.

FAQ

The decisions are visible in the code.

Why is the database schema in this app?

Independent products need independent release cycles. A shared schema package would couple their migrations.

Why does production deploy from GitHub Actions?

It serializes the one operation Vercel cannot: applying the reviewed production migration before the exact production build.

Why does preview use Clerk Development?

Preview databases are disposable, while Clerk identity uses a purposeful test-versus-live boundary instead of an instance per branch.

What happens before provider keys exist?

Public pages still render. The dashboard explains that Clerk must be configured instead of failing a deployment.

Ready to turn this reference into a product?

Start by replacing the app configuration, not the foundation beneath it.

Built for focused, independently deployable tools.