Application
Single-codebase launch loop
Public funnel pages, internal operations screens, and API handlers live together so the first engineer can ship fast without service coordination overhead.
One codebase for the first pet-tutor launch loop.
The company does not need a platform yet. It needs one reliable path from offer discovery to checkout to fulfillment, with clean data and no architectural blockers for the next workstreams.
Application
Public funnel pages, internal operations screens, and API handlers live together so the first engineer can ship fast without service coordination overhead.
Operations
Local, preview, and production provide enough separation to release safely without the drag of a separate staging tier this early.
Data
Products, offers, customers, orders, and events are defined together so pricing, checkout, and measurement evolve on the same spine.
Environment model
The first launch needs enough separation for safe releases without the operational cost of a fourth environment.
Local
localhost
Product development, route work, schema iteration, and integration spikes.
Use a local .env.local file sourced from the company secret manager.
Preview
Vercel preview
Every branch gets a production-like review environment before merge.
Non-production Vercel environment variables and a preview-safe database target.
Production
primary domain
The live funnel, checkout, fulfillment hooks, and operational monitoring.
Production Vercel environment variables plus the primary PostgreSQL database.
Data model anchor
Those five concepts are enough to power the first sale, measure the funnel, and avoid a schema rewrite when the second offer appears.
Core entity
The underlying digital asset or transformation promise sold to pet tutors.
Core entity
The price point, positioning, checkout configuration, and commercial wrapper around a product.
Core entity
The buyer or lead identity that ties together checkout, lifecycle, and future retention.
Core entity
The durable revenue record and the measurement layer for conversion, refund, and access behavior.
Immediate sequence
Provision PostgreSQL and run the first Prisma migration.
Implement Stripe checkout session creation and webhook ingestion.
Seed the first product and offer pair so the funnel can render from real data.
Track page views, checkout starts, purchases, and refunds inside the event model.