I think if you're storing vocabulary etc, using the C interface for sqlite wouldn't be too unwieldy and would be a good learning experience if you haven't done much raw SQL query writing of your own. Even when you use an ORM there are often times you need to write your own queries for more complicated situations.
One other suggestion: once you have the CLI and bots working, you could abstract this even more. Have a service process that communicates in some way (IPCC, a network port, etc.) that does the actual text analysis. Your cli and bots can then just interface over that channel. This gives separation of duties so you can easily implement new clients/servers or rework them much more easily.
With that small of a dataset imo either option is fine. If it were me I would use an ORM + sqlite just to start, in case I ever needed to migrate to a "real" database.
Do you mind sharing what sort of research / studies you were doing? I wasn't even aware that was a possibility.
I don't think the point is that swap is critical. Whether that is true will depend on your workload and hardware. But the point is it makes memory management better and more efficient. Whether you notice a difference in performance or not is again dependent on your workload & hardware. I personally see no reason to not dedicate a couple gigs to swap even with lots of memory on a personal system.
For what it's worth, I've used Nvidia cards for at least a decade without any major issues. Mostly on Arch, though I do vaguely recall needing to fiddle with it more on really old Ubuntu releases.
If you have enough ram, you don't really need swap at all.
This isn't really true. Swap is important for things other than acting as a memory reserve. Even if it was only used that way, it can still improve performance by paging out unused memory (such as from application startup that then isn't used).
There are other benefits too. This link goes into details.
It's possible. Tech companies do hire people to work full time on open source software. I'm not sure but I doubt there are many positions like that. There were several at a previous company I worked for.
What hashtags if you don't mind sharing?