When I did one, I whipped out some pencil and paper and broke it down into separate parts.
Obviously the GUI would be a part. Wireframe that up.
Figuring out what technologies is another. Use jquery ui or something else?
Then figure out what data I need to store and how. Save to a file, HTML or php? Save to MySQL in Json or plain HTML, or utilize something like helper classes to output HTML (like collectives form helpers?).
How are you going to display the form?
Once you get each part penciled in google and do a lot of research. I know there are packages, but keep in mind it might be more efficient to code it all your self then try to "make" a package work.
Any case good luck. I've done it twice and it's horribly inefficient (performance wise) and requires a lot of checks, data manipulation and if you store in db, a lot of queries not to mention validation.
Hopefully you have a good acl and experience with them. That will help a lot. Most acl packages won't cut it.