The Discovery Phase of the Web Design Process

Coding (PHP 8)

The very first step of building a new website successfully is the discovery phase. asking the right question and put the answers in your design

Here is some statistic that you might not like.


A bachelor's degree holder on average earn 3.5x more money than a high school degree holder.


2 people with the same IQ and same experience can have a $22.000 difference in salary depending on their degree.


In the era of digital nomads, get-rich-quick schemes, and millionaire bloggers, these 2 statements are kind of a reality check.


Your parents told you to go to school and get good grades.


and for the most part, they were right!


I was listening to a podcast the other day.


The guest, a famous entrepreneur, said that he would not hire a candidate if he didn’t have a bachelor’s degree or an astonishing website or portfolio.


And that is the key.


Does not matter which patch you choose to pursue.


Either an employee or a client is looking for someone experienced.


If you, like me, do not have a degree in one of the few Ivy League colleges you need to showcase your skill in another way.


Creating a personal website.


This is the first post of a series in which I’ll be creating my new personal website from scratch.


And I am going to share all I know and all will learn along the way.


Let’s jump right in!


Why do you need a website?


If you are looking for your first new job in the web development field a portfolio is a website in which you show all your previous experiences.


If you do not have previous experiences that are great!


The portfolio website itself can be an amazing way to start demonstrating your skills.


In there, you will be listing not only the previous projects you have done.


Also, you are going to prove what skills you have gathered during your experiences.





The planning


I have been updating my personal website quite often during the last decade.


Most recently, I dedicated my time to other projects instead and now, an update is due.


Photo by Alvaro Reyes on Unsplash


In this post, we will start from the very beginning.


The first issue to think about when creating a new project is to answer a few questions:


Who is the owner?


What is important for the owner?


Who is the audience?


What is important for the audience?


Every time I start a new project I always start with those questions in mind.


Let’s discuss the answers now.


Who is the owner?


The first question is quite easy to answer.


Who is this project for?


Is it the owner of a restaurant that wants to increase its customers' number?


Or a dentist that needs to inform her patient of the opening time and procedure costs.


You as a web developer need to be able to find out the answer to this one.


In this case, this would be my personal website.


I am in the privileged position to choose what is best for my project and decide the time schedules and features I want in it.


What is important for the owner?

“ Life is what happens when you’re busy making other plans.” — John Lennon.


What is about?


Many years ago the main focus of my website was to showcase my skills.


At the beginning of my career, the goal was to find internships and junior PHP positions.


I needed to add as many projects as possible and showcase them during the interview process.


Also, I used to do quite a few freelancing jobs in the past.


Currently, the situation is a bit different.


I am not looking for a new job nor do I want to do any freelance job at the moment.


This means that the portfolio part of the website is now less important.


So, what is important for me right now?


Something I find myself doing, with periods of high and low motivation, is studying code and writing about it.


After all, you are reading one of my articles at this very moment.


This would be my main focus.


A platform in which I can share my thought and teach people what I know.


Also, I’d love to discuss with other developers about coding, PHP, and tech in general.


Who is the audience?


This is the difficult part,


To fill this section we have to train our empathy skills.


For the longest time, the goal of my website was to get potential employees to see my previous work,


Recruiters were more than welcome too.


Photo by Melanie Deziel on Unsplash


Now, the situation is different.


I am not looking for a new position and if I will do in the future, I am confident enough in my skills that my portfolio will be a second thought.


There are 2 main types of people that I’m looking forward to receiving now.


  1. students (with different experiences level) who want to learn how to code
  2. promoters, marketers, or people looking to guest post technical code on my website


With a high priority on the first typology.


“The beautiful thing about learning is that no one can take it away from you.” — B.B. King


This means I should focus most of my time on creating a well-groomed blog.


It would be smart to add a login feature (with rules and permission) so other people will be able to add their content too if they want to.


What is important for the audience?


The audience will consist of people that approached coding recently and want a clear path that will help them land their first job.


Or even knowledgeable programmer that wants to learn new stuff so they can improve their careers and make more money.


So, how would my website helps people learn about code?


That is a good question but a better one would be:


If I need to learn something code-related where should I go?


Luckily, I am a programmer and I know the answer to both those questions.


When in trouble, I and the other 14 million users go to Stack Overflow.


That makes me think that adding a Q&A alongside the normal post blog would be a good idea.


Also very important, and a big mistake I did in the previous version of the website, is the search feature.


Visitors must be able to search for topics or keywords and find all the relevant information about them.



“First, solve the problem. Then, write the code.” — John Johnson


While reading you might have some questions about why I am doing things the way I do or advice about something I could do better.


This means that a commenting feature is also needed.


Visitors can read the article and ask questions if that post is not clear enough.


As a matter of fact, some of these comments could be considered questions of the Q&A section themselves.


(it is good to do some live brainstorming while writing ideas down).


Also, I want promoters, marketers, and other writers to be able to contact me.


Inquiry me if they want to add their part to the website and in exchange, It is fair that I let them share a link to their social or own blog if they want.


This means that I need to have a contact page.


This time it only needs to include my email, no more address, and phone number as freelancing is no more that important to me.


Time to look at the features in specific.


Creating the list of features


First thing first.


The main goal of this restructuring is that the blog will now be the most important part of the website.


It has to be clean, shareable, and easy to read.


Also, the post needs to be searchable and include tags that describe its content.


Even though there will be some stand-alone articles I found out that the majority of my writing belongs to specific categories.


Many of them are also going to be grouped into series.


Photo by Austin Distel on Unsplash


For instance, what you’re reading now is the first element of the “build my website” series.


Articles (blog)


  1. Search feature
  2. Tag feature
  3. Shareable posts
  4. Chat feature
  5. The articles need to be part of series
  6. Series need to be part of a category
  7. Posts need to have one or more buttons for external links




Next is question and answer,


I haven’t thought about this yet but to make it easy it can be a shorter version of a blog post with some code snippets and comments.


A mix between Medium and Stack Overflow.


Q&A needs to be integrated with the blog.


I should create comments as questions, then add them to the Q&A page.


We will see!


Newsletter (subscribe page)


A simple landing page in which visitors can register for more content.




This is easy too,


An index of some of the websites I have worked on and by clicking on them the visitor can have some more details about what I did on them.




Every website in the world should have this page.


It should include


  1. Email
  2. Form + Captcha




That was an unusual post of mine.


The majority of the time, I plan everything I want to write.


This was more of a free-flow post.


I let my idea go and done some discoveries while I was writing about it.


I am pretty sure I am building the right thing for the right audience now.


As you might have noticed we had a conversation focused on the main aspect of the website and some high-level features.


No code has been written and we still don’t know what this website is going to look like.


In the next post, I’ll take these features and create some initial wireframes.


Click to see how I create those wireframes now >>>

If you like this content and you are hungry for some more join the Facebook's community in which we share info and news just like this one!

Other posts that might interest you

Coding (PHP 8) Nov 16, 2022

This is why Symfony 6 is perfect for your next project (PHP Framework)

See details
Coding (PHP 8) Nov 29, 2022

How MVC framework works (basics)

See details
Coding (PHP 8) Nov 30, 2022

How sql injection works with example

See details
Get my free books' review to improve your skill now!
I'll do myself