This post ignores the fact that an answer to questions about development time depends on the technology used, i.e., the tooling, programming language and platform/supported operating systems and, first and foremost, how familiar the developers are with these. I believe the student who said it's going to take them 2 hours. For example, I can guarantee you that I would have been able to finish this project in less than an hour back in the time when I was fluent with Realbasic. Today, it would probably take me 4 hours in Go + Fyne because I'm not yet familiar with Fyne. It would take me the same amount of time in Gtk because the framework is kind of complicated and the docs are sometimes a bit obscure (though overall excellent). If you add testing, documentation, and deployment then it's going to take at least 10 x the original time. That wasn't part of the original description, though.
The example just goes to show that if your original spec is incomplete, doesn't specify the quality, testing, and documentation requirements, and you pile up feature after feature (like cloud uploading), then it's going to take much longer. I'm sure the student knew that, however.
The other thing is, how well researched do you want to be? When I'm learning something new, I usually want to gain a deep understanding and really get to the ins and outs of it.
So when figuring out (for example) how to do X in language Y, I'm not very likely to stop at the first SO answer and call it done, because very often there's more to it (e.g. tradeoffs in performance, compatibility, composability, pitfalls & caveats, etc.). But the difference it makes in time taken can be massive. Maybe finding that first SO answer takes a minute, but gaining a deep understanding can take a few hours of reading and experimenting.
This ends up feeling weird for these take home assignments if you're using a new stack. My normal mode of operation is to gain deep understanding (and people generally consider me insightful, which I attribute to that pursuit of understanding), but this may look bad to someone who already knows the stack and/or thinks that you should just cope & paste.
The example just goes to show that if your original spec is incomplete, doesn't specify the quality, testing, and documentation requirements, and you pile up feature after feature (like cloud uploading), then it's going to take much longer. I'm sure the student knew that, however.