I'm working on an indie game called Galactic Diner: https://www.dinergame.com/
Hoping to release in 2025 :)
The downside of that is that cards often have to hook into custom functions that interface with the engine (unless they're sufficiently boring). You can still go with ScriptableObjects if you're willing to e.g. write those functions in Lua and have an interpreter layer, but for all but the largest projects, making each card its own class works well.
This project is an enhanced reader for Ycombinator Hacker News: https://news.ycombinator.com/.
The interface also allow to comment, post and interact with the original HN platform. Credentials are stored locally and are never sent to any server, you can check the source code here: https://github.com/GabrielePicco/hacker-news-rich.
For suggestions and features requests you can write me here: gabrielepicco.github.io