Instead of a genuine Arduino Mega 2560 R3 you can use a compatible "Arduino"; in the first case you reward and support the makers of the Arduino project and the further development, what everyone who can afford it should do, in the second case you save some money.
Instead of a mounting plate made of e.g. aluminium or stainless steel, which you either have to have made if you are not equipped accordingly, or which you can buy as part of my kit (see Special- & Small Parts, you can also use two mounting brackets from the hardware store. Looks not bad at all and is somewhat cheaper. But then: file off corners! Risk of injury!
For storing the alarm time (which also survives a crash) you can probably use the built-in EEPROM memory of the Arduino or maybe even the RTC module instead of the FRAM module (with corresponding additional effort in the sketch).
Instead of the (electromechanical) relay to switch off the loudspeaker, you can probably use more elegant (electronic) components.
You can do without header strips, plugs and terminals, solder the modules or wires directly and save some money.
Instead of the "overhead" housing you could use table, desk, built-in housings etc. or build them yourself.
Instead of the mentioned (rotary) switches, push buttons etc. you could use parts that give the whole thing a different design.
A (magnetic) lock could be attached to secure the cover of the housing.
You could use varnished boxes, varnish them yourself or paint them.
Do you have any more ideas? - Write me an email.