Ethos
On a scale of skateboard to aircraft carrier, it’s a cargo van.
DW doesn’t solve every problem, but it has really good solutions for the problems it does solve. Think Toyota 4Runner: reliable, dependable, useful, just works, still a delight to use.
Guiding Principles
- Pragmatic solutions using boring techniques - Professional, maintainable solutions without unnecessary complexity
- Code that is easy to understand - Clarity over cleverness
- Proven, stable patterns - Over bleeding-edge features
- Long-term maintainability and reliability
Code should be easy to write and easy to read. Basic and simple, no frills.
Conventions over Configuration
DW sets standards: we use Kysely, MySQL, Tailwind, shadcn. If you’re using DW, you’re not using Prisma or Drizzle.
Design Goals
- Easy to learn (help teams get up to speed quickly)
- Efficient (enable tasks to be completed as quickly as possible)
- Consistent (prevent teams from wasting time relearning)
- Transparent (allow bugs to be diagnosed and solved easily)
- Resilient (ensure what works today also works next year)
- Perfectly suited for quick prototyping with reliable results
What We’re Building
A robust system boilerplate that’s easy to modify and maintain. Do the predictable obvious thing, nothing too clever. Designed to be flexible enough to fit a variety of use cases and work with a variety of services (hosting providers, CDN, image storage, mailers).
Goal: make it just as easy to build a custom CRUD app as it is to configure a generic CMS.