Ship the product,
not the plumbing

Stop rebuilding auth, payments, and deployment from scratch. Production-ready templates for developers who'd rather build features.

// monorepo structure

apps/

backend/ — Express API + Stripe + Auth

frontend/ — Astro + Vue islands

packages/

config/ — Product catalog + constants

db/ — Drizzle ORM + migrations

shared/ — Zod schemas + utilities

src/modules/

auth/ — OAuth + sessions

payments/ — Stripe checkout + webhooks

email/ — Resend transactional

// sound familiar?

app.get('/auth/callback', async (req, res) => {

// TODO: implement OAuth callback

// TODO: handle token exchange

// TODO: create user session

// TODO: handle errors

res.send('not implemented')

})

app.post('/stripe/webhook', (req, res) => {

// TODO: verify signature

// TODO: handle checkout.session.completed

res.sendStatus(200)

})

Week two. Still no product.

You cloned a starter repo. It broke on install. The auth was half-finished. The Stripe integration was a TODO comment. So you started from scratch — again. Two weeks in, you have login working and nothing to show your users.

See exactly what you're buying

Every template ships complete infrastructure — not a starting point with TODOs.

Working auth

Google OAuth, session management, JWT — wired end to end. No TODO comments.

Stripe payments

Checkout, webhooks, purchase records. Tested and handling edge cases.

Email delivery

Resend integration with transactional templates. Sends on day one.

Database ready

Drizzle ORM, PostgreSQL, migrations included. Schema you can read.

Deploy scripts

Caddy, PM2, Docker Compose. One VPS, production-grade.

Zero spaghetti

Functional code only. No classes. Zod validation. Minimal dependencies.

Built on tools you already use

TypeScript. Astro. Vue. Express. PostgreSQL. Drizzle ORM. Stripe. Bun. No framework-of-the-month. No 47-dependency trees. Every template follows vertical slice architecture — each feature is self-contained, nothing is tangled.

TypeScript 5.7 Astro 5.5 Vue 3.5 Express 4.21 PostgreSQL 18 Drizzle 0.38 Stripe 17.5 Bun 1.2
checkout.logic.ts
import { PRODUCTS, type ProductConfig } from '@repo/config'

type ResolvedProduct = Pick<ProductConfig, 'key' | 'name' | 'priceDisplay' | 'category'>

export function resolveProduct(productKey: string): ResolvedProduct {
  const product = PRODUCTS[productKey as keyof typeof PRODUCTS]

  if (!product) throw new Error(`Unknown product: ${productKey}`)
  if (product.status !== 'active') throw new Error(`Not available: ${productKey}`)

  return { key: product.key, name: product.name, priceDisplay: product.priceDisplay, category: product.category }
}

Pure functions. Typed config. Zero side effects. ~28 production dependencies per template.

From purchase to first commit

Pick a template

Every product page shows the full tech stack, file structure, and last-updated date before you pay.

Pay once, own it

One-time Stripe checkout. No subscriptions. Download link hits your inbox and your purchases page — redownload anytime from your account.

bun install and build

Clone the repo, install dependencies, and start building your product — not the infrastructure.

Common questions

Your purchases are tied to your account, not a single email link. Sign in anytime and redownload from your purchases page. No expiring links, no DRM, no download limits.

Every template runs a health-check script (bun run check:products) that verifies all dependencies resolve and all files exist before listing. Product pages show the exact stack versions and last-updated date. Dependency patches within 14 days of release.

Every product page shows the file structure, tech stack, architecture approach, and dependency count. No surprises after checkout. See a sample vertical slice module — same stack, same conventions.

Luis Martinez built AppForgeLabs. You can see how the code is written before buying — check public code samples for repos with the same stack and conventions used in these templates. This shop runs on the same monorepo architecture sold here: Astro, Vue, Express, Drizzle, deployed on a single VPS. The store is the proof of work.

Once you get access to the repository, it's yours forever — so purchases are final. Every product page shows the file structure, tech stack, dependency count, and architecture before you buy, so you know exactly what you're getting.

Start building the thing that matters

One-time purchase. Redownload anytime. Full stack visible before you buy.

Browse templates

Built by Luis Martinez · GitHub