As I get ready to launch my new startup Uncover, my team and I created a GitHub Issues List of what we need to check off. From programming to last minute company tasks, we compiled a list of over fifty items. I thought I'd share with you some of the more general issues we thought to include (about half of our Big List). If you see we are missing something, please leave it in the comments.

Marketing Pages

Complete Homepage copy: One of the pages we left for last – and I know many new startups do – is the copy for the homepage. You need to write about whatever you're selling in a clear, concise and engaging way. If you can't quickly capture the interest of a visitor to your service then you're going to immediately fail. This leads to my next point.

One of the pages we left for last – and I know many new startups do – is the copy for the homepage. You need to write about whatever you're selling in a clear, concise and engaging way. If you can't quickly capture the interest of a visitor to your service then you're going to immediately fail. This leads to my next point. Clearly define how our product benefits the customer (our unique value proposition): If the visitor to your service doesn't understand exactly what the value is to them and why they should use you then they'll hit the back button. It's as simple as that. In one sentence, you should clearly define your unique value proposition for the type of customer you want.

If the visitor to your service doesn't understand exactly what the value is to them and why they should use you then they'll hit the back button. It's as simple as that. In one sentence, you should clearly define your unique value proposition for the type of customer you want. Contact page copy: For us it's a matter of making sure that we list all of the different ways visitors to our service can reach us. It's not enough to simply provide an email address nowadays. Lots of customers want to reach you on Twitter, Facebook, and other social networks.

For us it's a matter of making sure that we list all of the different ways visitors to our service can reach us. It's not enough to simply provide an email address nowadays. Lots of customers want to reach you on Twitter, Facebook, and other social networks. Determine FAQ strategy and write it: One of the things I like to leave to the last minute is writing the Frequently Asked Questions. If you write it too early, then chances are your service will have changed and it'll become outdated. Writing the FAQ will also help put you in the mind of a customer right before launch. It's a great last-minute exercise in making sure your app is clear.

One of the things I like to leave to the last minute is writing the Frequently Asked Questions. If you write it too early, then chances are your service will have changed and it'll become outdated. Writing the FAQ will also help put you in the mind of a customer right before launch. It's a great last-minute exercise in making sure your app is clear. Determine content strategy for blog: This should probably have been done sooner, but you can only do so much with three people. You want to make sure you have a consistent voice and are writing blog posts that support the service you're trying to promote.

This should probably have been done sooner, but you can only do so much with three people. You want to make sure you have a consistent voice and are writing blog posts that support the service you're trying to promote. Do a copy sweep: I find nothing more distracting and off-putting than poor grammar and misspelled words in the copy of a newly launched startup. (I guess I'm setting myself up to get called out if I screw it up with my new startup.) It doesn't take much effort to send the copy to a few friends to review it before going live.

I find nothing more distracting and off-putting than poor grammar and misspelled words in the copy of a newly launched startup. (I guess I'm setting myself up to get called out if I screw it up with my new startup.) It doesn't take much effort to send the copy to a few friends to review it before going live. Write all email copy: Another pet peeve of mine is when the emails from a new service I've signed up for are too cryptic to understand. If you're going to send me an email, please take the time to make it an informative one, even if it's just a "thank you for registering" email with my login details. Hammer home your message.

Another pet peeve of mine is when the emails from a new service I've signed up for are too cryptic to understand. If you're going to send me an email, please take the time to make it an informative one, even if it's just a "thank you for registering" email with my login details. Hammer home your message. Do some basic keyword analysis: Not every app is great for SEO, but if you think that people are searching with a problem you're solving, then you should do the keyword analysis and build your site's copy around it.

Modeling

Model our potential revenue: You should never found a company without a good idea about how you plan on making money. Even better, you should project how your potential revenue stream will grow over time.

You should never found a company without a good idea about how you plan on making money. Even better, you should project how your potential revenue stream will grow over time. Set monetary/sales goals: After you've modeled out your potential revenue growth, setting sales goals will give you a better understanding of when you can raise money on good terms or quit your day job and bootstrap. It's great to have numbers to work toward that aren't arbitrary. Knowing exactly how many users you need over a projected time frame helps to determine whether you're matching projections.

Sales

Set up a sales pipeline: Chances are that you know people who want to use your product. If you don't, then you might not be building the product that's best suited to you. Record the names and email addresses of likely users in a file and check them off after you've reached out to them.

Chances are that you know people who want to use your product. If you don't, then you might not be building the product that's best suited to you. Record the names and email addresses of likely users in a file and check them off after you've reached out to them. Draft Case Studies: It depends what kind of service you're building, but before you go live you should be doing some type of beta test. During beta, ask some of your most dedicated users if they wouldn't mind doing a case study. Prepare a few of these to have on hand or to put on your marketing website when you go live.

Programming

Form validations: Form validations are one of those last-minute things that developers leave until the end. They're easy enough to do, but just not all that sexy. Don't forget to do them, as having an error on a form without a notification is a terrible user experience.

Form validations are one of those last-minute things that developers leave until the end. They're easy enough to do, but just not all that sexy. Don't forget to do them, as having an error on a form without a notification is a terrible user experience. Complete a security audit: There have been a lot of security breaches recently if you're a Ruby on Rails app, so be sure to patch before going live. Go through the routine checks to make sure you haven't overlooked anything.

There have been a lot of security breaches recently if you're a Ruby on Rails app, so be sure to patch before going live. Go through the routine checks to make sure you haven't overlooked anything. Schedule a QA/break me session: There's always some little snafu that can set you back and can only be found when you purposely try to break your app. Sit down with your team (and maybe a few friends) and do all the crazy things you can think of to break your app.

There's always some little snafu that can set you back and can only be found when you purposely try to break your app. Sit down with your team (and maybe a few friends) and do all the crazy things you can think of to break your app. Check the site in various browsers: Oh, no! No developer wants to have to worry about Internet Explorer, FireFox, Opera, Safari, and Chrome, but you should take a look to make sure there aren't any glaring errors. Sometimes things can be cleaned up pretty quickly.

Oh, no! No developer wants to have to worry about Internet Explorer, FireFox, Opera, Safari, and Chrome, but you should take a look to make sure there aren't any glaring errors. Sometimes things can be cleaned up pretty quickly. Get SSL up and running: If you're not using SSL then you're not trying hard enough. SSL is fairly inexpensive these days ($69.99/year from GoDaddy) and it's really not that hard to set up, especially if you're using a hosting service such as Heroku.

If you're not using SSL then you're not trying hard enough. SSL is fairly inexpensive these days ($69.99/year from GoDaddy) and it's really not that hard to set up, especially if you're using a hosting service such as Heroku. Audit our Admin section: You should have an Admin section where you can modify user settings and the like. Make sure that it's working and that you can do everything you want with it.

You should have an Admin section where you can modify user settings and the like. Make sure that it's working and that you can do everything you want with it. Set up our /blog and hook it in with Tumblr: If you haven't already set up a blog (as we haven't), set it up. I recommend Tumblr, because it's easy and you can get some virality through re-blogging. I also recommend setting it up at /blog rather than blog.app.com because of the Search Engine Optimization implications of having it in a folder rather than as a sub domain.

If you haven't already set up a blog (as we haven't), set it up. I recommend Tumblr, because it's easy and you can get some virality through re-blogging. I also recommend setting it up at /blog rather than blog.app.com because of the Search Engine Optimization implications of having it in a folder rather than as a sub domain. Set up Intercom: I love Intercom for seeing who is using your product. I've used it quite a few times, and have nothing but good things to say about it. It's only a small snippet of JavaScript, so get on it!

I love Intercom for seeing who is using your product. I've used it quite a few times, and have nothing but good things to say about it. It's only a small snippet of JavaScript, so get on it! Set up CrazyEgg: It has been a while since I've used CrazyEgg, but I know that during a new launch it's good to see where visitors are clicking. Something might look like a link that isn't. It's easy to set up and they have a 30-day free trial.

It has been a while since I've used CrazyEgg, but I know that during a new launch it's good to see where visitors are clicking. Something might look like a link that isn't. It's easy to set up and they have a 30-day free trial. Set up goal tracking: Goal tracking is easy to set up in Google Analytics. It's helpful because it allows you to know when visitors are completing individual actions.

Goal tracking is easy to set up in Google Analytics. It's helpful because it allows you to know when visitors are completing individual actions. Verify with Google and Bing Webmaster Tools: It's easy to do and supposedly gets your website indexed faster. Why wouldn't you want to do that?

It's easy to do and supposedly gets your website indexed faster. Why wouldn't you want to do that? Create a Sitemap and configure robots.txt: The more you help yourself with Search Engine Optimization, the better it'll help you. Setting up and submitting an XML Sitemap to Google and Bing will help them crawl you more efficiently.

The more you help yourself with Search Engine Optimization, the better it'll help you. Setting up and submitting an XML Sitemap to Google and Bing will help them crawl you more efficiently. Make sure we're catching errors with Airbrake: Airbrake is great for catching code errors that users might be running into. It groups them all and notifies you when an error occurs. Great for debugging early on.

Airbrake is great for catching code errors that users might be running into. It groups them all and notifies you when an error occurs. Great for debugging early on. Set up stats to track usage: Something that should go inside the Admin area of your app should be a record of your app's pattern of usage. Track whatever are the most important statistics for your app and list them here. When I was at Carbonmade, we built Pulse to track our statistics. You don't need to go that far, but high-level numbers are important. Up and to the right!

Something that should go inside the Admin area of your app should be a record of your app's pattern of usage. Track whatever are the most important statistics for your app and list them here. When I was at Carbonmade, we built Pulse to track our statistics. You don't need to go that far, but high-level numbers are important. Up and to the right! Audit our app's routes: If your app is programming in Ruby on Rails, and I'm sure many other languages that I'm not as familiar with, you can modify the routes of your website. That's like adjusting a name like "/users" to be "/members" or however you want it. It's important to practice good URL structure, but not before you're ready to go live, as things often change.

If your app is programming in Ruby on Rails, and I'm sure many other languages that I'm not as familiar with, you can modify the routes of your website. That's like adjusting a name like "/users" to be "/members" or however you want it. It's important to practice good URL structure, but not before you're ready to go live, as things often change. Set up 404 and 500 pages: It's not difficult to set up 404 and 500 pages, but it's important that you do so.

Miscellaneous

Set up RSS with mentions of app name: Through Google Alerts you can easily get notifications when your app is mentioned on the Web. I usually set them up for a variety of terms, not solely for mentions of our app's name but for surrounding industry terms as well.

Through Google Alerts you can easily get notifications when your app is mentioned on the Web. I usually set them up for a variety of terms, not solely for mentions of our app's name but for surrounding industry terms as well. Get all team members on the bank account: It's up to you, but usually with a small founding team of three to two people, you're going to want everyone to be on the bank account to be able to access it in case of emergencies.

It's up to you, but usually with a small founding team of three to two people, you're going to want everyone to be on the bank account to be able to access it in case of emergencies. Set up QuickBooks: I've been using the same amazing accounting firm for around six years now, and every time I start a new business they tell me to get on QuickBooks before things get out of hand. This time I'm going to listen to them.

I've been using the same amazing accounting firm for around six years now, and every time I start a new business they tell me to get on QuickBooks before things get out of hand. This time I'm going to listen to them. Get all the @app.com email addresses set up with forwarding: Create a catch-all email address so that anything sent to your @app.com email address will go to a single address.

Create a catch-all email address so that anything sent to your @app.com email address will go to a single address. Sync Stripe with our bank account: If you're using Stripe for payments, you need to activate your account before you can proceed. It's easy, but requires a little bit of information such as your Tax ID # and the Social Security # of the person activating it.

Future Planning

Plan the next set of features after launch: You'll hopefully be knee deep in email and bug fixing during the first few days after launch, but you should also have a "what's next" plan for the following few weeks. I like to have something that's going to add a lot of value for the initial customers and take fewer than two weeks to ship out the door. That way you show them that you're iterating efficiently and quickly.

Launch Day