Back in my academic days I needed a PIC programmer. PIC programmers were a little bit expensive in Venezuela (maybe they still are). So I looked online for one that I could build myself.
A popular one that I found was a JDM programmer. The software used was the IC-Prog. Pretty simple, so I built it on a generic PCB and it worked ok!