
Building My First Portfolio Website with HTML, CSS, and JS
The very first personal website I ever built — no frameworks, no shortcuts. Just pure HTML, CSS, and JavaScript. This project laid the groundwork for everything I know about the web today.
TL;DR
Built my first developer portfolio using pure HTML, CSS, and vanilla JavaScript — no frameworks, no build tools. Perfect learning foundation for understanding web fundamentals before jumping into modern frameworks.
Who This Is For
- Complete beginners starting their first web project
- Self-taught developers wanting to understand the fundamentals
- Anyone curious about vanilla web development
Prerequisites: Basic computer skills, text editor, web browser. No prior programming experience needed!
Before I ever touched React or any modern frameworks, I decided to build something from scratch: my own developer portfolio. No templates, no build tools — just handcrafted HTML, CSS, and vanilla JavaScript.
I wanted to understand how the web actually works behind the scenes. Looking back, this project feels like the most important learning experience I've had so far.
You can still see the code on GitHub. Even though I've moved on to bigger projects, this little site was where it all began.
Project Overview
My first-ever portfolio website built with pure HTML, CSS, and vanilla JavaScript. No frameworks, no build tools — just the fundamentals of web development.
🛠 What I Built
- A clean homepage introducing who I am and what I'm passionate about
- A projects section to showcase my earliest experiments
- Fully responsive design using only CSS and media queries
- Smooth navigation and basic interactivity with vanilla JavaScript
- Simple, fast performance without any external dependencies
Key Features
- Responsive Design - Works on all devices - Vanilla JavaScript - No frameworks or libraries - Fast Performance - No external dependencies - Clean Code - Well-structured and maintainable
🧠 What I Learned
1. Mastering the Basics
This project taught me how powerful the fundamentals are. Understanding how HTML structures content, CSS controls presentation, and JavaScript drives interactivity has made me a stronger developer in every project since.
<!-- Example of clean, semantic HTML structure -->
<header class="hero">
<h1>Maruf Hossain</h1>
<p>Full-Stack Developer</p>
<nav>
<a href="#about">About</a>
<a href="#projects">Projects</a>
<a href="#contact">Contact</a>
</nav>
</header>
2. Real Responsive Design
I had to think critically about layout using flexbox, percent-based widths, and media queries to make sure the site looked good on phones, tablets, and desktops.
/* Example of responsive design approach */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.container {
padding: 0 15px;
}
}
Environment Used
Last tested with: Modern browsers (Chrome 120+, Firefox 120+, Safari 17+), GitHub Pages hosting
Limitations & Trade-offs
- No build optimization: Larger file sizes, no bundling - Browser compatibility: Manual testing required across browsers - No component reusability: Code duplication across pages - Manual updates: Every change requires touching HTML directly - SEO limitations: No server-side rendering or meta optimization
3. Version Control and Deployment
I learned how to set up a GitHub repository, commit changes properly, and use GitHub Pages to publish my site with a custom domain. Seeing my work live on the internet for the first time was an incredible feeling.
4. Debugging Without a Safety Net
No frameworks meant no abstractions to hide behind. Every bug, every broken layout, and every JavaScript error was mine to figure out. Spending hours in browser DevTools taught me patience and precision.
Learning Challenge
Debugging without frameworks was challenging but incredibly educational. Every issue required understanding the underlying web technologies.
🎨 Screenshot

🔗 Explore It Yourself
📌 Next Steps
Ready to build your first portfolio?
- Start with a simple HTML structure - header, main, footer
- Add CSS for layout using Flexbox and Grid
- Learn JavaScript basics with MDN Web Docs
- Deploy for free on GitHub Pages
Essential skills this project teaches:
- HTML semantic structure and accessibility
- CSS layout fundamentals and responsive design
- Vanilla JavaScript DOM manipulation
- Git version control and deployment workflows
What's Next
This project inspired me to explore modern frameworks and build more complex applications, but the fundamentals I learned here remain the foundation of everything I build.
Building your first site? I'd love to see what you create! Share your progress or ask questions at /contact.
— Maruf