I have been into this, and as a developer I do prefer creating an awesome assignment rather than just a technical interview. As the uniqueness and simplicity of assignment can give developer a view about the kind of work the company does. Like some assignments I got were to build a Command line Dictionary Using an exposed API and on the other Game of thrones Battles API or even a Simple MEAN APP. It's level varies by the companies requirement.
As the developer works continuously to complete the assignment with proper coding style and to code it in overnight. He expects his work to be discussed and judged as soon as possible. Delaying in judging would have a negative impact on the developer.
Besides, you can find many websites organizing weekly 12hr online hiring challenges e.g. HackerEarth specific to a startup. I love taking part in those challenges as they give pretty amazing 12hack assignments and good for brushing up the skills.
Plus point for developer is they get to show there talent and one extra awesome project gets added to their GitHub account and also learn something new giving the uniqueness of the assignment.
One can judge on various grounds like the type of tech stack used, type to coding style guide followed, the chronological order of commits in GitHub, the level of cleanliness in the code, definitely proper commenting of the code, number of features successfully implemented, etc.
Note: For problem setters, the assignment you set should not be lengthy and huge, else developer won't even bother trying it unless your startup is that good. Assignment should be something different and interesting, it has to be unique and align with your company work.
Some assignments from startups: