We build things that work.
Full-stack products built on TypeScript, NestJS, and Next.js. Open source tooling, production-grade architecture.
What's in the box.
Monorepo, wired up
Turborepo and pnpm workspaces with shared @repo/types (Zod), @repo/ui and @repo/config. Incremental builds and env-aware caching, already configured.
API ready for input
NestJS with validated DTOs, rate limiting at 10 req/60s, Resend for email, and Swagger everywhere except production.
Tested and deployable
Vitest in every workspace, a Docker dev environment, CI, and deploy configs for Vercel, Railway and your own VPS.
How we built this.
Seven articles documenting the real process — from repo structure to deployment and upgrades. Published on devanddeliver.com.
Turborepo setup — why monorepo, structure, shared packages
Why we chose a monorepo, how we structured it, and which tradeoffs we made on shared packages. All decisions explained.
Building a landing page with Next.js 16, Tailwind v4, and Framer Motion
A full design and build session: from brainstorming the visual language to shipping a production-quality page with shared UI components.
Wiring to Contentful — headless CMS for static content
How we connected the landing page to Contentful so non-developers can update copy without touching code.
Embedding a self-hosted Cal.diy calendar in the App Router
A real booking flow on the page without an npm SDK — the iframe embed, the CSP rules it needs, and the parts that get weird.
Deploying to Vercel and Railway
Putting both apps live — Vercel for Next.js, Railway for NestJS. Environment variables, CI, and the first real domain.
Moving the API to a free Oracle Cloud VPS
When the Railway credit ran out: the Arm capacity lottery, Caddy and PM2, and a GitHub Actions deploy that survives a reboot.
Upgrading to NestJS 12 and TypeScript 6
SoonWhat the upgrade broke, the six manual fixes it needed, and benchmarks on Node 22, 24 and 26 — including a rate-limiter false alarm.
Get notified when we publish.
We're building this Turborepo in public. Subscribe to get notified when each article in the series drops.
- One email per article — no noise
- Real decisions, real tradeoffs, real code
- Unsubscribe any time
Let's talk.
Book a call directly or reach out by email. hi@devanddeliver.com