Java/JNI OO Design Guru

I am looking for a design expert to help me finish a project that is already about 60-70% finished.

The project involves automating play in online poker clients. In particular, we will be working on code that allows a poker bot (artificial intelligence for playing Texas HoldEm) to communicate with online poker clients such as those provided by [url removed, login to view], [url removed, login to view] and ParadisePoker.com. The final program will allow such a bot to play poker automatically, in real time, and without supervision. Please note, however, that this project does not involve writing a bot itself, but only providing the interface for existing bots to use. Some of the tasks of the program include reading the names of the other players at the table, reading which cards have been dealt, and determining which actions other players have taken.

This project will focus on building an interface to [url removed, login to view], but the final code must be easily extensible to other sites. In particular, such extension should involve nothing more than the re-implementation of a handful of JNI &quot;screen-scraping&quot; methods.

I am programmer as well as a designer, and you will be working directly with me (via email and instant messenger). You will be focusing on high-level design work and delegating many implementation tasks to me. For that reason, I need someone who is very experienced with high-level design and with the ability to communicate high-level design. You should be proficient in UML class diagrams and sequence diagrams. I also imagine you own a much-used and worn copy of &quot;Design Patterns: Elements of Reusable Object-Oriented Software.&quot;

Much of the application code has already been written in Java (though not by me). You will first need to familiarize yourself with it. This shouldn't be too hard. There is only about 30-40 printed pages of code in total, and I have provided a seperate page of notes --- as well as a sequence diagram that gives a birds eye view of the high-level design --- to help guide you through it. I have zipped all of these files together under the name PokerProject.zip. I've uploaded the zip file to the root directory of the yahoo geocities account &quot;gaming_mouse&quot;.

After you are familiar with the code, your job (which I will help with) will be to identify and fill in the unfinished pieces, and possibly to redesign already finished pieces as you see fit.

Your main area of expertise should be OO Design. You should also be a very skilled Java programmer with experience in JNI. Knowledge of C++ is good too.

Familiarity with the WinAPI is a big plus, but not absolutely required. I will be personally writing most, if not all, of the code that implements the native JNI methods that you define in the Java code. It will help me if you know the WinAPI because I can discuss any problems I have with you.

I would like to finish this project in two weeks, and I think that if you have the right experience that goal is very realistic. There are four deliverables:

1. A working program that allows bots which implement the Player interface (see file &quot;poker/Player.java&quot;) to play Texas HoldEm automatically on the PartyPoker poker client.

2. Complete source code

3. UML Class diagram(s) of completed work.

4. Modification of attached UML Sequence diagram that gives a birds-eye view of the final program's flow.

The budget for this project is up to $600.

Please feel free to ask me any questions you want. I look forward to hearing from you!