This document explores how to make QMK more data driven.
What does that mean?
As a general statement it means using data instead of code. There are a lot of things in QMK that use code where data might work better:
Keycodes
Songs
rules.mk/config.h
Keyboard Definitions