I've decided to kick off this project by connecting a TM1637 4 bit led clock display module up to a NodeMCU. I found an arduino library for the TM1637 and was up and running with a timer that ticked up in no time.
I love the ability to flash Arduino code onto the NodeMCU through its built in USB. It's especially nice after the pain and suffering involved in trying to flash a the ESP8266 by pulling some wires high and others low. It always took me several tries before getting it working because of the difference between different modules for the ESP8266.
After getting a working display I added a single 18650 battery, and everything lit up OK when I connected it to the 3.3v pin on the NodeMCU. I also purchased a TP4056 recharging board for the battery. I'm going to look into what it takes to measure the charge on the battery, but I think I would like to be able to know what percentage the battery is at.
I also received some arcade push buttons in 4 different colors that light up and have a great feel to them. The only thing I'm unsure about is using the arcade mount format for a button, since it takes up a whole lot of space and I don't know how large or small I want to make the finished clock yet. I may switch out the button for a capacitive touch
The first prototype of the clock will incorporate these parts in such a way that it will have a single 4-bit display, one button that lights up to indicate the clock is counting, and one micro usb port for recharging.
The plan for my next update is to have all of these parts assembled and loosely held together in some fashion while I work on my first few iterations of the firmware. In particular, I'm looking forward to learning more about how to create a rechargeable IoT device that reports it's battery status.