Other people have covered the reasons you should build your own router, but it comes down to two important reasons. The first reason is performance in this article from 2016 outlines just how much more performance you can obtain from building your own router verse one of the consumer products from Linksys, TP-Ling, etc, etc. The other reason of course is flexibility, building your own router lets you leverage the power of the entire linux ecosystem to build and use additional services of your choosing, this flexibility extends your wifi technology as well. You can literally rip and replace just the wifi hardware and upgrade your router to the latest technology, not that I am saying that you are going to save money, but you will have a very high performance router, you will be able to bolt on additional services, and it will be at a very competitive price to the highest performance consumer router.
This article is going to begin with installing the Fedora OS and configuring it as a router with a couple of basic services like DHCP and DNS. Along the way we are going to use technologies like Ansible so that you can easily modify your router and save its configuration in Github so that if the worse case scenario happens you can rebuild the router from scratch and have all of your settings saved, literally it will alow you to rebuild your configuration in a matter seconds, after completely re-installing the OS.