Speedometer questions

I've been using this site to help with my 225 to 318 swap, but this is my first time actually posting, but y'all ate super helpful. I'll get to the point now.
My speedometer hasn't worked ever, well its had a couple minutes of time that the needle moved while driving but it wasn't accurate at all. I'm directly using my phone as a speedometer to get to school and work but I'm getting tired of using it, so I want to know if I should try to fix the factory speedo or buy and aftermarket one. The only reason why I'm hesitant to buy an aftermarket one is because I don't know how the digital ones get information from the car. Running a stock 904 if thats important.
Also I've already lubed the speedo cable with no results at all. Any information on this is helpful