Everyone have blinked some LEDs with something, right?
I'll just rabble down some of my workflow here.
First I did the software, in one evening, with a sixpack.
Then I do the circuit in Fritzing protoboardview, its got most of the components readily available and doing it in protoview
gives a very good overview. Then i sort the basic layout out in the schematic view. By this time i can also start protoing RL.
After that I redo the entire circuit in Designspark schematic view adding the proper components etc. After debugging the RL proto and the schematic its time to move to PCB layout and routing. Designspark has a 3D view of the PCB so its really easy to see if you screwed up before you start building the PCB.
Then i solder the whole shebang together and start testing the software and building a 3D printable case for it.
With this project I really only hit one minor bump in the road. While charging it was reading the battery voltage as 4.3 volt resulting in no charging since battery is to only be charged to 4.2volts. The cause of this turned out to be that since it is using the same pin to charge the battery and measure the voltage the measurements was done too soon after charging. Adding a 2ms delay between charging and measuring solved everything.