The Epic Stack

Kent C. Dodds

Let's wake up

Your brain needs this 🧠

Content Warning

Sadness... 😭

Modern web development is fantastic.

There are so many great tools available!

exhausting.

Real talk

Almost whatever you choose will probably be fine.

And yet...

And you know it...

On the one hand

On the other

It'll probably be fine...

You have to live with this...

And then...

Getting everyone aligned

And...

And then...

wiring everything together...

But you just want to ship

I've been around.

And I've got opinions...

Introducing...

An opinionated project starter and reference

A Project Starter

npx create-epic-app

A Reference Implementation

With 🤌 docs

github.com/
epicweb-dev/epic-stack

Decision Documents

HT Remix team

github.com/epicweb-dev/
epic-stack/tree/main/docs/decisions

Guiding Principles

  • Limit Services
  • Include Only Most Common Use Cases
  • Minimize Setup Friction
  • Optimize for Adaptability
  • Only One Way
  • Offline Development

The                                opinions...

Today

Staging/Production deployment
Horizontally scalable / Multi-region setup
Transactional Email
User data export
Content-Security Policy
SEO (sitemap/robots)
Decision documents
Toast messages
Native ESM
Caching + Admin Cache management
Marketing pages
Error Boundaries
Username/Password
Two Factor Authentication
Email Verification
Profile Photo

Forgot Password
Extensible Third Party Auth
Change Email
Profile
Database migrations
Radix + Shadcn + Tailwind Components
Images
Role-Based Access Control
Fonts
Cross-site Request Forgery Protection
Server-timing headers
Healthcheck
Full-Trophy Testing with test database
Database seeding (local and production)
TypeSafe, Progressively Enhanced Forms (Zod + Conform)

Hot Module Replacement / Hot Data Revalidation
Cross-site scripting Protection
Rate Limiting
Production Error Tracking with Sentry
Built-in pre-configured swapfile
Production monitoring
Multi-instance SQLite
Honeypot
Secrets management
Destructive Re-verification
Theming
Icons
Local Offline Development Support
Server-side User Timezone detection

Examples

Framer Motion
Epic Stack + OpenAI
Prisma Client Extensions
Epic Stack + Storybook
Socket.IO
User Impersonation
Epic Stack + Tailwind CSS Plugin
Epic Stack + GitHub Auth
Epic Stack + MongoDB as the Database

Epic Stack Custom Themes

Epic Stack + OpenID Connect Auth (Google)
Epic Stack + Fathom Analytics
Epic Stack + Tenant Users
Epic Stack + i18n
Epic Stack + Argos
Epic Stack monorepo with pnpm + turbo

Unlikely...

More than one way to do the same thing.

Don't like the opinions? Forking is free ❤️ 

Help is welcome!

Especially examples!

github.com/epicweb-dev/

epic-stack/discussions

kcd.im/discord

Firm Foundation 🪨

Thank you!