There are a lot of variables to consider with each of these items. It's certainly not a cut and dry answer. But I'll kind of work my way through each of these and see how my thought patterns might be.
With user interface considerations I really try and consider how easy it is for someone to interact w/my product. I try to avoid implementing a solution because it's easy for the developers.
Considerations would be things like size and quantity of buttons, labeling, amount of content per page, accessibility concerns (color/screen readers/keyboard), information organization, page download time, what happens when no Internet.
Security is something I only know a tiny bit about, but considerations would be what sort of data is being passed through the site. If the data is sensitive how is that information being encrypted? Even server side setups like making sure no one can access files you don't want them to (like putting the outside the
Credit cards obviously brings it's own slew of concerns regarding PCI compliance.
Should the app/site use
https:// (answer: probably).
But my biggest consideration would be: Who do I know that's knowledgeable on security that I could rely on to point me in the right direction?
I've been getting into performance a little lately but only the tip of what I presume to be a HUGE iceberg. Considerations here would definitely be making sure you're not over tooling your product. It's easy to reach for the great big library but if you have just a simple site you really don't need it.
Consider how you're handling images? Are you loading one HUGE image for all sizes, or using
srcset to only load a small image for a small device.
Should you have critical css so that everything can load as quickly as possible?
On that note, how are you loading your files? Minimized? g-zipped? separately?
I once tried to learn about SEO, and then it became way to big for me so I slowly backed away. Right now for SEO I really just try and make sure my html is as clean and well structured as possible and my links are all working so that Google finds it friendly.
I'd consider if the content was going to be shared (probably) so I'd try and make sure that it generates meta tags that are share friendly.
When developing a site or app having current content is super important, so if it's hard to input content then your site is going to be sad. Maintability also means making sure that your code is set up in easy to determine components so you can have a clue as to what's going on. It's easy to slip down the path of getting things to work without stopping and organizing along the way. That step, along with writing tests for your code, is really important for your future self.
Technology considerations would really be determined based on the client needs as well as the teams skills. When determining which tools to use you want to pick the best fit across the board.