+1<p>Edit: This. One of the things I see a lot of people running into is this mis-conception of &quot;prototype&quot; -&gt; &quot;production&quot;. The prototype is your proof of concept, you take this application and you refactor it and optimize it as you move into your production life cycle. You take the bits out and put new bits in that are either un-optimized or don&#x27;t work for the entire scope of that specific problem.<p>Working code is better than nice code that doesn&#x27;t work. Refactor small bits as you progress.