Your first real-world project is always nerve-wracking, not because of the code, but because of everything around it. I realized that when I accepted my first freelance project after graduation: building a website for a school : from scratch.
At first, I was confident.
“It’s just a website,” I told myself. Among all the projects I had done during college, web development was always the most enjoyable. I designed the layout in just three days, using a professional template for speed.
But what made this project tricky wasn’t the coding , it was the client.
In this case, my very first client was someone close to me, someone with little to no knowledge of tech or websites. And when I asked them what features they wanted, they simply replied:
“Just make whatever you think is good.”
Wait — what?
🎯 Designing Without Direction
It’s incredibly difficult to build something when your client doesn’t know what they want. Sure, I was given creative freedom… but at what cost?
I spent months , not writing code, but imagining the concept of the website. What kind of data should be shown on a school site? What kind of structure would users expect? What features are essential?
And to make things more interesting, I didn’t even have the data.
I had to collect it manually by reaching out to the teachers and staff one by one. So at first, I worked with dummy data and placeholders.
Whenever I tried to ask for feedback on the features I built, the client would say,
“Just finish the whole thing first, then I’ll take a look.”
That’s not how development works, at least not if you want to avoid rework.
Eventually, I insisted on walking them through each feature, explaining everything so we could agree before development moved too far ahead.
🛠 Backend, Hosting, and the SEO Realization
Once we finalized the design, I built the backend in just one week. But then it hit me:
“What’s the point of hosting a website if it can’t be found on search engines?”
That led me to my next learning milestone: SEO, something never covered in any of my college courses. I only stumbled upon it thanks to a random Instagram Reel about how websites get indexed by Google.
And just like that, I dove into the world of manual SEO:
- I added meta tags,
- Improved page speed,
- Structured headings properly,
- Crafted meaningful keywords for Google Search Console.
I didn’t have the budget (or client approval) to hire an SEO agency, so I had to trust my process and instincts. I followed every best practice I could find, knowing that the results wouldn’t come instantly.
⚡ Final Result
Eventually, I launched the site on live hosting, reviewed all functionalities, and made sure everything worked as expected. And then I waited.
Weeks passed. Then months.
And slowly but surely, the website started to show up in search results.
My manual SEO had worked.
💬 Reflection
This project didn’t just teach me about HTML, CSS, PHP, or SEO. It taught me how to:
- Manage unclear expectations,
- Communicate with non-technical clients,
- Ask the right questions,
- And trust the value of iteration and learning on the go.
It wasn’t about the money. It was about building something real and watching it grow.
Building your first project from scratch may feel like jumping off a cliff. But that’s exactly how you learn to fly.
🚀 Explore My Project
If you’re curious to see what I’ve been working on, feel free to explore the following project:
- 🌐 Live Website Project – Khairu Ummah : A real-world website project I’ve built and deployed:
👉 khairuummah.or.id