I initially sent this to the Hacker School batch 2 email list when someone asked for tips to get the most out of a Startup Weekend.
I've been to two Startup weekends (both in Las Vegas) and my team ended up winning the first one. It was a great experience and I strongly encourage everyone to try it sonetime. Here are my tips:
you don't need to come into it with a team or an idea
if you do have an idea, you should do some homework:
competitors/precedents
idea for revenue model
make a list of skills you'll need on your team
come up with a short 45 second pitch you can give to convince others to join your team. Make it really convincing.
be prepared to merge your idea with others who have complimentary ideas
be open to working on a project that isn't your idea
Once you have a team:
agree on a technology right away (rails, node, iOS) and make sure all technical people on board
sketch out the parts of the app that need to be built and agree on a common api for them right away so the frontend people can get started working with dummy data.
make sure no one runs out of stuff to work on, so make a list of things anyone can do while waiting for other parts of the app to come together, like collecting data, user testing, making a business plan, building the presentation or getting beta testers
I think startup weekends are great for a lot of reasons (trying new technologies, meeting cool people, learning from teammates, visiting new cities) and winning definitely isn't everything. However, if you want to win here is what you need to do:
get a really good graphic designer and frontend people on your team.
spend a lot of time on the look and feel of the app. Make a good logo, color scheme, typeface and a killer name / domain name
don't built a real backend to your app, fake it as much as you can with static JSON and hard coded things
focus on building a fully functioning, beautiful frontend for the demo
ignore security, scalability, maintainability, stability or anything else that makes a good app.
build a mobile app using invisionapp.com, don't actually code it. Invision let's you make a demoable app with only images that looks real.
aim to have a working demoable app at the end of day one and then get lits of other startup weekend people to view/test it on day 2. Incorporate their feedback into the app and your demo
register the appropriate twitter/Facebook/social media accounts for your app, start getting people excited for the app
make an attractive landing page people can use to sign up via email to be notified about the app (launchrock or mailchimp)
spend most of day two working on the presentation, not the app.
make a video of using the app, rather than relying on live walkthrough. Live walkthroughs always take longer, have errors or don't load when you actually do them. Videos you talk over are more likely to work and you can edit/speed them up to fit your presentation
Practice the presentation over and over, get feedback and questions from others
have only one person do the talking for the presentation, one other person run the computer.
skip introducing the team members (takes too much time, no one will remember names anyway)
make a video of you using an iPhone/android version of the app to add to the presentation if you gave a mobile version.
if your presentation requires audio, try using a jambox placed on the top if the podium if your venue doesn't have a sound system
Startup weekend doesn't have to be about fancy presentations and beautiful design, but if you spend all weekend working on an amazing backend but have a terrible presentation and a boring frontend it won't be compelling to the judges even if your idea is great.