I really like the site and its approach. I'm a long-time supporter of open source, and I think that a chess tactics website I designed myself would probably have a similar flavor. Some of my comments on individual exercises were generating replies, and I thought the issues would be more accessible if I posted them here.
For problems with en passant solutions, users can waste a lot of time and then feel tricked when they find out they were supposed to find a move they didn't even know was legal. I don't think users should be expected to position the cursor over the pawn to see that an en passant capture is legal. This seems too much like touching a piece without the intention of moving it. Ideally, the user would know the situation on the board without having to guess or experiment. I'd like to see the exercise show what the last played move was. For en passant solutions, the last move can be deduced from the FEN string even if the original game score isn't readily available,
A second issue is when there are multiple winning moves and the user is forced to find the same sequence the engine prefers or get docked rating points. Unless we're talking about a mate-in-N problem, there's no objective reason why a move that wins a rook and causes instant resignation should be considered inferior to a wild 7-move combination that wins a queen, even if the latter mates sooner. Ideally, a good problem should have a clearly best solution. When users see it, they all agree it's the right solution. If there's still argument, it's probably an exercise that needs to be weeded out. However, I'm not sure the current system of rating problems will necessarily weed out the bad ones. For one thing it appears that most users aren't rating the problems. Another difficulty is if users "kick the dog" - give the problem a low rating just because they're mad they missed the solution.
A possibility for dealing with this issue is to create a forum section that is essentially a "Problem Courtroom." When a problem rating falls below some threshold (weighted by number of ratings), a new thread is created for that problem. Users who rated the problem are automatically notified of the new thread and invited to post comments. The idea is that instead of automatically killing a low-rated problem, the problem gets an open trial to convict or acquit. Have a fixed amount of time for deliberations. These posts would reveal which ratings were uninformed (where the user rated problem low just because they missed it) or informed (where the user checked alternatives with an engine and still found fault with the problem). At the end of deliberations, either look at the consensus, or, if you want to be fully automated, have the posters vote their verdict. This idea has several potential advantages. One is that we should get higher quality ratings since ratings, discussions, and votes on questionable problems would come mostly from users who care about the problems and are willing to check them. This is also a way to automatically collect human expertise from the community of users. Finally, I think there may be educational value in the open discussion of a problem's merit.