I guess it depends...

I'm just kidding, that's not the answer I'm going to give you. I've been trying to answer this question for myself since the start of my career as a Web Developer (about a year now).

So many of my ideas fall at the first hurdle because I don't know what comes next. Don't get me wrong, I know what making an app involves otherwise I wouldn't be very good at my job but something about a blank VSCode stumps me. I get excited by an idea that I have, think of a cool name, cd into MyProjects , npm init , oh boy, here we go!

My Brain:

Wait! What's the best way to organise your code here?

What tooling do I need to set up?

Do you start with the database, the API layer or the front end?

Should you build this client-side rendered or serverside?...

If you, like me, have also suffered from a little paralysis by analysis when it comes to bringing your ideas to life then I hope this series will help.

I'm going to build a web app and document my thoughts on getting past what, I believe, are the major sticking points when it comes to answering "now what?".

  1. Ideation - deciding what to create (technically comes before npm init but worth discussing nonetheless).
  2. Architecture - What technology stack are you going to use and how is your app structured at a high level to deliver what you want it to.
  3. Tooling - Bundling, type-checking, transpiling, linting and testing. Understanding all the peripheral set-up required to create a professional, high-quality application.
  4. Workflow - You're set up and raring to go, but how do you go about building your first component/page? Do you start on the front end, the API layer or the back-end?

The app itself will be simple but I'm going to build it to the best of my ability with a professional, scalable architecture and tech stack. So, it may feel a little over-engineered but the idea is that I want to build a solid methodology and workflow so that I can tackle any project and get passed those 4 sticking points.

Follow along if this sounds interesting to you! I won't have all the answers and I am hoping the community here will help me along the way. Let's see how it goes...

This post is also available on DEV.