Only live Gumroad kits are listed. Content is driven by products.json.
Problem Every SaaS eventually receives provider webhooks. Retries re-deliver the same event; naive handlers double-charge, double-email, or race across workers.
Does HMAC-verify inbound webhooks, store each event once on (provider, externalId), and process work in a Postgres FOR UPDATE SKIP LOCKED worker with pluggable handlers.
Why buy Own a readable Node/TS/Postgres webhook spine instead of bolting Redis queues or rewriting signature + dedupe glue again.
Includes Express API + worker entrypoints · Prisma schema + migrations (WebhookEvent) · docker-compose.yml (Postgres 16)
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL
Problem B2B SaaS needs organizations and memberships. Without a trusted tenant resolve + orgId filter, Customer A can see Customer B’s rows.
Does Users, organizations, memberships (owner/admin/member), invite stubs, JWT starter auth, and middleware that resolves tenant then scopes every Notes query by orgId.
Why buy Ship the multi-tenant membership spine most starters skip — without bolting on a full IdP or billing product.
Includes Express API with auth, orgs, invites, notes routes · Prisma models: User, Organization, Membership, Invite, Note · docker-compose.yml (Postgres on host 5433)
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL
Problem Running cron on multiple Node processes double-fires the same schedule. Redis-heavy job systems are overkill when you already run Postgres.
Does Register cron jobs in code, enqueue due fires with idempotent runKey (jobName@fireTime), and claim runs with FOR UPDATE SKIP LOCKED so only one worker executes each fire.
Why buy A thin distributed-cron spine you can read and own — no Redis required for single-region SaaS.
Includes API + worker processes · Built-in heartbeat + cleanup-old-runs jobs · Prisma CronJob / CronRun models
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL
Problem Public APIs get abused. Many rate-limit samples need Redis; in-memory limits fail across processes.
Does Express middleware for fixed or sliding windows in Postgres, keyed by API key and/or IP, returning 429 + Retry-After and X-RateLimit-* headers.
Why buy Postgres-backed rate limiting with hashed API keys and a smashable /v1/echo demo — own the code until Redis latency forces a swap.
Includes Rate limit middleware + memory store for tests · Admin key CRUD + /v1/echo demo · docker-compose.yml (host 5435)
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL
Problem Clients retry POST/PATCH. Without Idempotency-Key handling, flaky networks double-charge, double-book, or double-email.
Does Express middleware that fingerprints method+path+key+body hash, claims a Postgres row, runs the handler once, and replays the stored response on retries.
Why buy Stripe-style safe retries for your mutating endpoints — complements HookQueue (inbound webhooks) for your own API.
Includes Idempotency middleware + Postgres/memory stores · Demo charges route · docker-compose.yml (host 5436)
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL
Problem Builders rewrite the same tool-calling loop, sandbox, and memory glue for every local agent demo.
Does A runnable TypeScript agent: system prompt → tool-calling loop → Zod tools → memory, with a Repo Helper demo CLI and optional /chat server. Bring your own OpenAI-compatible key.
Why buy A small, honest agent starter you can fork in an afternoon — not AGI, not LangChain soup.
Includes Agent façade + loop · Default tool registry + Repo Helper personality · CLI and optional server
Node.js ≥20 · TypeScript · Zod · Express (optional) · OpenAI-compatible HTTP
Problem Shipping a custom MCP server means wrestling SDK wiring, stdio rules, and sandbox mistakes before Cursor/Claude Desktop ever see a tool.
Does TypeScript MCP server starter over stdio with echo, fetch_url (guards), and notes_fs sandbox tools — fork, rename, extend.
Why buy Save an afternoon of MCP SDK + Cursor JSON + path guards; own a minimal server that hosts already expect.
Includes McpServer wiring in src/server.ts · Three sample tools + Vitest (20 tests) · Cursor / Claude Desktop config snippets in README
Node.js ≥20 · TypeScript · @modelcontextprotocol/sdk · Zod · Vitest
Problem RAG demos sprawl across managed vector DBs. You already have Postgres and want ingest → embed → top-k → answer you can own.
Does Postgres pgvector starter: chunk text, embed via OpenAI-compatible API (BYOK), store vectors, cosine top-k query, optional grounded answer.
Why buy A readable RAG pipe on pgvector — not Pinecone lock-in, not a full agent framework.
Includes Express routes: ingest, query, documents, health · docker-compose with pgvector/pg16 (host 5437) · samples/*.md + demo-curl.sh
Node.js ≥18 · TypeScript · Express · Prisma · PostgreSQL + pgvector
Problem Prompts get pasted across repos as half-broken strings. Versioning, variables, and few-shots become tribal knowledge.
Does Versioned YAML/JSON prompt templates with {{variables}}, few-shot slots, OpenAI message export, CLI render, and a tiny eval stub (string match / optional LLM judge BYOK).
Why buy A prompt-ops kit you run locally — not a hosted CMS.
Includes Library + CLI · examples: support-triage, code-review, fewshot-qa · Eval stub (string_match / llm_judge)
Node.js ≥20 · TypeScript · YAML/JSON · Vitest
Problem Prompt and agent changes ship without regression gates. Hosted eval platforms add lock-in for simple string/regex checks.
Does JSONL eval datasets with exact/contains/regex matchers, optional LLM-as-judge (BYOK), CLI pass rates, and a self-contained HTML report.
Why buy CI-friendly offline matchers plus optional judge — fork it, no cloud dashboard required.
Includes Library + CLI · datasets/sample.jsonl + examples · Console + HTML reporters
Node.js ≥20 · TypeScript · Vitest