Tips for a Weekend Project
I see quite a few weekend projects posted on sites like Hacker News. There's something to be said for mixing the pressure of a deadline with the momentum that comes from freedom and creativity. While the weekend project is a great learning device, I've noticed some people “launching” products Monday morning, complete with paid tiers. With very few exceptions, nothing that can be thrown together by one person in a weekend is worth charging money for. But if you are serious about shipping something worthwhile, there are some tips for creating a successful project.
Have a Plan
Spend Friday night organizing your thoughts. Draw the interface on paper or using your favorite tool (Omnigraffle is good and so is Mockingbird). Don't write a single line of code until you know exactly what you're building. Nothing kills like a refactor. If you aren't sure, you aren't ready.
Along the way, you might get so excited about your progress that you dream up some extra feature. Unless it is truly exceptional, say no. Ideas require patience and nurturing. Great ideas withstand the test of time; they call on you when you ignore them. A tight scope is essential to an organized weekend. Only the lean survive.
Develop in sprints and focus on a single set of related tasks or user stories. If you find that you are context-switching, walk away immediately. Jumping around is a sign you have lost focus or sight of your goals. I like to make a chai or mocha, find the right music, and play with my dogs. If I can't find my way back to coding, I return to wire-framing and sketching. More often than not, my inability to focus is a leading indicator I haven't fully thought something through. When you know what to build, you'll build it quickly.
Make it Beautiful
Twitter Bootstrap is a great tool, but it's one that is overused in production. A stock Bootstrap theme is not acceptable if your goal is to get in front of potential customers. Make something beautiful. Care about your pixels as you would your code. If you are not a designer, find one to partner with before you launch. A hacker knows how tough it is to write an interesting application, but a customer can only feel the soul of a product by the pixels on the screen. Show them you love and care for your product.
The weekend project is about having fun, learning new things, and building something great. But also remember that the weekend project, more often than not, is for you or your small circle. If you want to put it out into the world, make sure you give it the love and care it deserves. Don't rush to deploy, and don't try to charge money unless you have something useful and unique.