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.