What can you create in just one hour? I actually asked myself this question about two hours ago and the result blew my mind away, not because I had created a masterpiece (which I didn't) but for all the insight I've gained.
A bookmarking application
I started with the idea of building a rudimentary Pocket clone which can take a link via url and save it. I obviously discarded fancy things such as being able to read the article in a nice zen-like view.
I focused on getting the most basic funcionality working with absolute minimum code: crude styling, no authentication, just take a link, fetch some basic data and store it in the database.
Want to see the end result? Here:
I will not go into technical details about this app (and there's really not much to it), so if you are interested, go grab the code on github.
As I mentioned before, the real gold in this experiment was the new perspective I got.
Build a base template
As I was writing the first lines, I realized I could do much faster if I had a base template with basic stuff such as database, styling, layout and boilerplate code already in place.
Have your editor configured properly
I use vim and recently replaced snipmate with UltiSnips, which is awesome but I was so used to my snipmate snippets that it wasn't until now that I noted some funcionality missing in UltiSnip and I even found some quirks in it's tag expanding behavior.
Adjust your MVP in real time
My Minimum Viable Product was an app that could store links in a database with the page's title. Once I had that working, I realized I still had about 20 minutes to go, so I decided to search for a gem to extract the body of text from an HTML page and I found Pismo.
With Pismo, I went ahead and expanded my MVP to also store the page's content and display the list of articles with an excerpt.
The next logical step for this was to create a view to display the article's content, like Pocket does, but I ran out of time.
Time scarcity can be a great motivator
Having less time to do your work can greatly improve your focus. You start to adjust your priorities in real time, dumping all non-essential tasks. You strip your idea to it's pure essence. Once you have that essence, then you can start refining and improving.
I find this works just like Progressive Enhancement does on frontend web development, where you define a basic level of usability that must work on all your target browsers and then you add fancy features for newer browsers.
It also helped me focus when reading docs online or looking for gems. I was amazed by how quicly my brain seemed to pick up just what I needed for the current task, with laser-like precision.
I will definitely repeat the experience if another quick idea pop into my mind. This kind of projects do wonders if you pay attention to the process instead of the end result :)