For essentially the most half, your pockets software program ought to handle all this. It’s best to solely decide how urgently you want the transaction to be confirmed and choose the feerate, the pockets would handle the remainder. The 88 you point out would probably check with a feerate of 88 sats/vbyte right here, though that seems like a gross overestimate on the present market situations.
If you wish to manually construct a transaction, you could know a bit extra.
Earlier than you construct a bitcoin transaction, you already know which transaction outputs you might be aiming to create. The recipients addresses inform you how a lot information it will take to specify every output within the transaction. The transaction header can also be largely fixed dimension, it is 10 bytes for non-segwit transactions and 42 weight models for segwit transactions.
The enter facet is a little more sophisticated, as you often have no idea prematurely what number of inputs it will take to fund your transaction. Your pockets may be capable of spend Unspent Transaction Outputs (UTXOs) of varied output sorts which take completely different quantities of information to incorporate in a transaction.
So, you may both want to select the inputs first, then decide their dimension and calculate the charges, or you are able to do each in live performance, by calculating the fee for every enter and deducting in from the UTXO’s values earlier than contemplating them for inclusion.
The precise sizes for some common output sorts may be seen on this desk: 
