How about an iOS/Android game with optional micro-transactions?
In game development you can indulge and improve as many different skills as you want; graphics, sound, music, mathematics, networking, AI, UX design, character design, writing, storytelling, difficulty balancing, teaching..
An indie game project will give the freedom to be as creative as you want, and you get to enjoy your own product, but of course you don't have to arrive at a finished, marketable product to have fun building it.