I believe that people (both kids/teens/adults) are more inspired to tinker after they learn the basic framework of what they are tinkering with. Electronics and circuit sets are great, but it really helps to jump-start learning with demos or projects that are heavily documented in the box. After you get your bearings on what works and what breaks, you are more free to experiment and add your own ideas.
To that effort I'm working on a hackable alarm clock based on the Raspberry Pi platform along with several Adafruit/Sparkfun components. The idea is that we can build a customized, tricked-out bedroom alarm clock with some general off-the-shelf components to see how hardware and software work in concert to create something useful. After the project is done, I'm hoping its creators will feel inspired to rip it apart or build new features using the pieces.
Even the enclosure (actually, especially the enclosure) is meant to be an original creation. This should be something you are proud to show off, and have the confidence to extend.
The construction of the hardware and the software will be walked through in phases, gradually building from a simple digital clock to a pushbutton alarm clock that wakes you with your own music and tells you the current weather forecast. Over the span of ten or so lessons, we will build the hardware from a Raspberry Pi and Adafruit LED backpack and create a clock "driver" in Python. No software needs to be installed - the main event loop is easily edited within an HTML interface that ships with the project.
Hi - your project caught my eye when I recognized that 7 segment display. I'm using the same one on my own alarm clock project: http://hackaday.io/project/4922-merciless-pi-alarm-clock
Which text-to-speech software did you decide to use? I'm using Pico but it has one bad habit in that she pronounces a time string like "8:05" as "8 5" instead of "8 oh 5".
Did you stick with the Adafruit sample code to run the clock display itself or roll your own? I'm currently running with the example (though with a few lines added to consult a photo cell and set the display brightness) but I may try to merge it into the main loop of my alarm program. I'm not sure, my main loop code is debouncing both a button connected to GPIO and values returned via i2c from an analog pressure sensor connected to an ADS1015 and the code got... ugly (even by Python standards).