This programmer is based on the wonderful OpenProg project. It updates that project to make it as cheap as possible to get a fully functioning PIC programmer supporting high-voltage programming. See the github page for more details.
Grab the gerber files from Github and send them off to your favourite PCB shop.
A part list that you can cut-and-paste into Mouser's BOM tool is here.
2
Solder
Open the file "ibom.html" from the Github repo to help you place the parts.
Assuming you are hand-soldering, solder the parts in the following order:
Back side: Transistors, diodes, resistors, capacitors, regulator
Front side: Transistors, diodes, resistors, LEDs, ceramic capacitors, inductor, PIC18F25K50, button(s), electrolytic cap, USB socket, pin headers.
Be careful to only apply a small amount of solder when soldering the USB socket, as it is very easy to create a bridge. Don't panic if you do - turn your soldering iron up a bit hotter than normal, apply a liberal amount of flux and then use desolder braid to try to get rid of all of the solder from the bridged pins. Once it's cleaned up, try again with less solder.
3
Program the chip
After you've soldered everything, download the HEX file from the firmware repository and program it onto the PIC. The marked "MPLAB_SNAP" connector matches the pinout of the Snap - if you're using a PICKit then you will need to utilise jumper wires to connect the programmer.
Assuming you've done everything right, when you plug it into your PC, it should show up as "Open Programmer" and the openprog GUI should be able to talk to it. I recommend using the command line "op" tool with the "-HWtest" option to run through basic checks before actually trying to program anything. See the openprog webpage for more information.
Please don't hesitate to reach out if you need help!