One small design suggestion. You should include a battery so that if the electricity were to go out you could still see the time or be alerted at the time of the alarm.
Additional small design suggestion: fade in the beeper too instead of starting full blast.
I'd suggest checking out the Android app Talalarmo, which gets most things right (no snooze, same time every day). Specifically my fork, which adds press-and-hold-to-dismiss. I can build you an apk if you don't have an Android environment set up https://github.com/smichel17/talalarmo
Fading in the alarm is the only way to go, IMHO. I don't even use my alarm clock, I just set my phone. The stock Android clock now includes a fading in feature, and lots of aftermarket ones have it as well.