In my opinion, anyone who has only built small apps or coded alongside a tutorial eventually faces the same challenge when trying to build their first complete project from scratch:
Where do I even start?

This question becomes the biggest hurdle because it lays the foundation for everything that comes next. I had the exact same doubt. It's always a good idea to ask someone more experienced when you're stuck. But what if you don't have a senior to ask?
That was my situation.
Fortunately, I had AI as my senior.
AI as a Senior

This might sound like vibe coding, but it wasn't.
I never asked AI to write my project for me. Instead, I asked architectural questions:
- What should I design first?
- How should I structure my project?
- Why is one approach better than another?
Understanding the why behind those decisions was much more valuable than simply getting code.
Solving the Hurdle
The biggest lesson I learned before writing any code was this:
Design first. Build later.
The first thing I designed was the database schema.
For my project, designing the database schema turned out to be a great starting point. Before writing any code, I planned what information my application would need to store. Having that clarity made it much easier to design the rest of the features because I already knew what data was available.
For example, the User schema contained fields such as:
- fullname
- username
- password
- avatar
- thumbnail
- createdAt
- updatedAt
Once that was done, I designed the schemas for the remaining features as well—videos, comments, likes, subscriptions, playlists, and so on.
It felt a little slow and even boring at first, but it saved me a lot of time and prevented many design changes later in development.
My Learning
One lesson that has stayed with me is:
Before building features, design your database.
A well-thought-out database makes it much easier to design the flow of your application, connect features together, and avoid unnecessary refactoring later.

Top comments (0)