I kept it relatively simple because I didn't have a lot of time before my friends moved into their new home.  I bought a generously sized aluminium enclosure but designed replacement end plates, laser-cut from 3mm acrylic with cutouts for the displays, power, the encoder etc.

Talking to the displays is easy, they're i2C, jumpered to have different addresses. I mounted them by clamping them against the front plate -- I'm never confident of getting the relationship between the character block and the mounting holes on the PCB correct.  Plus, the holes are an awkward size and there is variation in the placement of the characters on the PCBs.  I am confident creating a correctly-sized cutout for the characters, and kerf is my friend.

Rather than add the usual Set & Sel push-buttons I went with a nice encoder. Turning it changes the display mode, pressing it configures the time. I used this library for the encoder.

I really like the feel of interacting via the rotary encoder, the discrete clicks it makes.

There are several display modes (because I could).  As well as the time "Twelve20" there's "TWELVE20" (the lower-case 14-seg chars are, ... interesting), a Roman Numerals version "XII  20", random 8-character words, and a vanity mode which just displays my friend's names.

Display modules: XC3715

Rotary encoder: SR1230