12 Steps to Creating a Serious Startup
Tags: productivity, startup, webdev
Published: 2021-07-07 19:52:58

You finished a project, and found the perfect idea that will lead to a billion-dollar unicorn company? You should follow this guide.

Even if you start a front-end, back-end, or full-stack project, these tips should be able to cover everything and get you jump-started in your startup's journey.

## Step 1 - Understanding your project

The most essential thing when starting a new project is understanding your project. This could sound like BS right now, but when you are further into the project, it'll help you create better and more meaningful features.

## Step 2 - Understanding your users

If you don't understand your users, you will start 1/0 against all of those fresh startups.

### Target Audience - Age

Knowing the age of your audience is very important in terms of coding, and design. If this is a project targeted against teenagers and kids, your project should be 'playful' and colorful, if this project is targeted against adults and old people, your project should be serious, minimalistic, and professional.

### Target Audience - Job

Knowing the potential job of your audience will help you in writing. For example, let's say I want to target possible hirers. I'd probably use something like "I turn ideas into reality.", if you think about it, this sounds very appealing to hirers and will attract them more from websites that say "I create websites.".

## Step 3 - Making a sitemap

Now, you'll have to make a sitemap to make everything more clear. If you don't have more than 3 routes, I would recommend squashing everything into a single page.

## Step 4 - Picking a tech stack

You probably know what you should pick since you know your target audience. And no, you shouldn't use Next in all of your projects.
If your project is meant to be "fast" and basic, you could pick something like Svelte or Vue, both of these frameworks are very lightweight and easy to learn. If your project is large, and it's complex then I'd say you should use Next with TypeScript for your frontend. Looking at the backend, many front-end developers prefer Firebase and never touch the backend. I prefer TypeScript, MongoDB, and Express for the backend but if you don't like the backend, Firebase is fine.

## Step 5 - Documenting Features

It should be pretty easy to pick the features because now you know about the project, your target audience, and the tech stack.

## Step 6 - Writing the Copy of the Website

Depending on your target audience, you should write a convincing copy for your website to attract even more users. I prefer Markdown for writing copies for my websites. You should split the text into sections and take advantage of headings, bold text, italic text, etc. to emphasize your copy.

##  Step 7 - Picking a Color Palette

The color palette of your website should depend on the age of your target audience. I would recommend having 3 main colors, a color for errors, warnings, etc., and 2 neutral (grey) colors. Every color should have shades from 100 to 900 (100 being the lightest, 900 being the darkest). I use Coolors to generate colors that look good together.

## Step 8 - Creating the Design

Now you know what to put on your website, you should create a design system that contains components, grids, typography, colors, branding (logo, brand name, etc.), etc. to have a better experience. What you put in other than text will depend on your features.

## Step 9 - Whoa! Stop coding, We Have to Make the Logic

Depending on the features, you should create a Markdown file documenting (programmatically or not programmatically) how the website will work and what will happen when something is clicked. This helps you not play around with coding without actually having no progress.

## Step 10 - Writing Tests Before Creating the Product

Write some tests, and this will force you to make properly working features. I prefer Jest for unit-testing, Lighthouse for performance, and Cypress for end-to-end testing.

## Step 11 - Time to Code!

Before starting coding the product, you should set up continuous integration, continuous deployment, git hooks, storybook, auto-generated changelogs, etc. to make everything easier further down the progression of your product. After setting up the boilerplate, you can start coding.

## Step 12 - Hosting

Congrats! You successfully coded a startup. This doesn't mean it's the end, code should always be refactored and people may want more features. Now you should buy a domain. I prefer GoDaddy or Google Domains for registrars. If you are using Firebase or Heroku, using a custom domain name is fairly easy. And, you should have a production-ready app.
This is it for this blog, and always remember to listen for the feedback!