A live CMS for every track and module — backed by your database.
One CSV creates both. Each row needs a type of track or module. Existing rows are updated (tracks by id, modules by track+code).
track
module
id
code