I have a relatively small software (it took about three weeks for a programmer to finish it) written on c#. The main objective of the software is to save hand histories from a small poker room to the hard drive. The general principle of work is the following:
1. It intercepts the network packets that are sent to the poker room from the server using WinPcap and deciphers them
2. It parses the packets and creates the text files that contain hand history.
3. Side statistics program imports these files and then shows the statistics immediately on the poker room tables (the tricky part here is to point the side program to the correct poker table).
The biggest issue I have right now is the 2nd item on the list. The current algorithm of transforming packets data to hand history is not distortion proof. Current version of software assumes that all the existent packets arrived and creates the hand history based on that assumption. But in reality it is quite common that some packets are missing, although since the packets are redundant, the information can be taken from other packets that are in place. So a big percentage of hands played are currently lost and I need to fix that.
I have some (presumably) smaller issues on the 3rd item of the list. The tricky part there is pointing the side statistics software to the correct poker table. So the strong understanding of a workflow with win32 windows is pretty much required. And any kind of experience with WinPcap and network sniffing in general is also a big plus.
It's somewhat hard to estimate the amount of work, since the project is quite dynamic at this point and I expect that we might add some new additional small features. I expect that the overall work amount should be not more than 50 hours of total work time at the beginning. And I believe that it should take about 5-10 hours/week after that initial piece of work.
Regarding the code. The first programmer that made the initial version is not working on the project anymore. I myself am quite familiar with the code and have made a lot of additions to it, but since recently I don't have enough time to continue working on the project myself. So I will provide any explanations regarding the code that might be needed.