This could also be done with a cheap microcontroller, like the ATtiny13A which has enough peripherals build-in like ADC, timers, PWM etc.:
+ Lower power consumption (deep sleep mode, PWM rather than resistor for LED and blinking rather than always-on)
+ It requires fewer discrete components (MCU, sensor and LED)
+ You can do much more (intensity, blinking, multi-color, low-battery warning, etc.) and update software gradually
- Requires programming
- Max 5.5Vcc (use 2xAAA instead)
If you're up for that kind of stuff, I have to say I'm having an awful lot of fun playing with the ATtiny13A for these kind of hobby projects, trying to squeeze in more features through intelligent use as I learn more (i.e. use the LED to measure ambient light level between pulses, and use this info to change brightness dynamically and save battery at night).