I generally do like the data-first approach when I have a good idea of what we're building. One place I’ve found it useful to start when you don't have the views planned ahead of time is to mock up the main data management views with handwritten sample JSON data needed to render the functionality desired. Then make the DB schema to provide that data.
If you want to get fancy, you can use Mirage JS [1] to emulate network requests with mock data.
If you want to get fancy, you can use Mirage JS [1] to emulate network requests with mock data.
[1] https://miragejs.com/