I avoid using a database at all cost.
At least in small projects, when longevity and cost is more important than user-generated data. Examples? Blogs, brand websites, directories, etc.
Thanks to this approach, demo bioinformatics tools I've created 7 years ago are still up at my previous employer's website. I've used static files to replicate the API structure for a limited sample of data, making it possible to host a limited version of the app for close to $0.
Today I'm using static files for directory project I use to get up to speed with building products - airportregistry.
But how to manage static data? For me, the tool of choice is Pages CMS
@pagescms. It's an open-source, 100% free editor that uses your Git repository to store your content in markdown.
In fact, integrating it with my website required no code change, because I was already using markdown with frontmatter (extra metadata) for my posts.
You can specify custom fields, upload files, manage on-off schemas for specific pages like a home page.
Every update creates a commit, which in turn deploys a new version of my app.
Highly recommend giving Pages CMS a go. It's a simple but delightful project.
If this is not what you need, give a thought to what can be static and pre-fetched in your project, it can make a difference both for your wallet and for experience of your users.
ALT Dashboard showing a blog project named "airports" with a posts list, titles, dates, search bar and "Add an entry" button, plus sidebar navigation.