Hey @jordan18 
What you can do is run a workflow every second (while the file is uploading) to calculate the remaining time and size based on 3 things:
- Total size (TS)
- Elapsed time (ET)
- Upload progress (UP%)
The remaining time formula will be:
[(ET) / (UP%)] - (ET)
The remaining size formula will be:
[ 1 - (UP%)] * (TS)
Imagine you are uploading a 10MB file…
Second 1:
Total Size: 10MB
Elapsed time (ET) = 1 second
Upload progress (UP%) = 5%
[(ET) / (UP%)] - (ET)
[1 / 0,05] - 1
19 seconds remaining
Explanation: If 5% = 1 second, 100% = 20 seconds. If already elapsed 1 second, the remaining time is 19 seconds.
[ 1 - (UP%)] * (TS)
[1 - 5%] * 10MB
9,5MB remaining
Explanation: If you already uploaded 5%, you have 95% to go. 95% of 10MB is 9,5MB
Second 2:
Elapsed time (ET) = 2 seconds
Upload progress (UP%) = 8%
[(ET) / (UP%)] - (ET)
[2 / 0,08] - 2
23 seconds
Explanation: If 8% = 2 second, 100% = 25 seconds. If already elapsed 2 seconds, the remaining time is 23 seconds. Note that, in this example, the speed is decreasing…
[ 1 - (UP%)] * (TS)
[1 - 8%] * 10MB
9,5MB remaining
Explanation: If you already uploaded 8%, you have 92% to go. 92% of 10MB is 9,2MB
Hope it helps!