If you're doing anything remotely complex with HTML forms, and/or intend to reuse similar forms in several places, I highly recommend checking out Rose::HTML::Objects...and not just because I'm the author :) Manually dealing with the minutia of HTML forms drives me bonkers. For large web applications, the blessed sanity that comes from having a library of reusable, feature-rich fields and forms should not be underestimated.
If you're feeling adventurous, you might want to also look at Rose::DB::Object for another alternative database/object mapping module. It doesn't handle schemas at all (so stick with Alzabo there) and is not very mature, but it does have some laziness-friendly features that Class::DBI and Tangram lack. In particular, it will free you from worrying about parsing/formatting dates, arrays, and other odd database-specific column values. It also happens to support PostgreSQL's CHKPASS column type, which is handy for transparent encryption of passwords and such. (Look in the "contrib" directory in the PostgreSQL source code for chkpass support; it is not installed by default.)
As for UI speed, I recommend investigating the use of XMLHttpRequest. I'm not sure if there are any Perl modules that will help with this, since it's a client-side JavaScript thing, but it's really the only way to approach the UI speed of a local application.