DEV Community

Cover image for I Coded My Portfolio From Scratch. No Templates.

I Coded My Portfolio From Scratch. No Templates.

Syed Ahmer Shah on May 26, 2026

There is a very specific kind of regret that hits when you deploy someone else's template, change the name and the profile picture, push it to GitH...
Collapse
 
sahilkumar profile image
Sahil Kumar • Edited

This is awesome. A custom-built portfolio says a lot more about your skills to potential employers than a pre-made theme ever could. Looking forward to seeing how you continue to iterate and grow it over time.

Collapse
 
syedfarzeenshahofficial profile image
Vinod Oad

Building a custom 3D mesh in Blender and optimizing the Three.js render loop is no joke for a web project. You made an excellent call by implementing a dedicated toggle to disable the 3D scene entirely for older mobile devices. Many developers throw heavy WebGL elements onto their landing pages without considering low-end hardware or initial layout shift, so deferring initialization shows real consideration for user experience.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Thanks for highlighting that. Performance isn't a "nice-to-have"—it's a requirement. Managing the render loop for mobile users ensures the site remains accessible regardless of hardware.

Collapse
 
faique_26 profile image
Faique

Using Bootstrap exclusively for the layout grid layer while writing pure custom CSS for the typography, variables, and animations is a fantastic middle ground. It prevents the typical utility-class bloat where HTML becomes unreadable, and as you mentioned, it forces you to actually debug the layout model yourself when things break rather than just guessing with random framework helper classes.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Exactly. Using Bootstrap only for the grid keeps the CSS modular without sacrificing control over the design system.

Collapse
 
farzeenai profile image
Aley

The combination of TurnJS and TiltJS for the certifications section is a unique creative approach. Standard grid galleries for certificates usually end up looking uniform and monotonous. Combining an interactive flipbook mechanic with dynamic 3D hover states requires a lot of meticulous event handling to ensure it remains responsive on touch devices. It definitely breaks up the flat design feeling.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

I wanted to avoid the "standard gallery" feel. Balancing those interactive libraries with touch-device responsiveness was definitely the trickiest part of the build.

Collapse
 
farzeendev profile image
Sagar Kumar

The inclusion of an llms.txt file is an incredibly forward-thinking addition for a personal site. Most portfolio tutorials stop at basic open graph tags, completely ignoring semantic search and structured JSON-LD data. Making your source code and documentation readily scannable for AI crawlers is going to become highly relevant as the landscape transitions away from traditional search engines.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Glad you noticed the llms.txt. With how quickly AI search is evolving, ensuring our personal sites are machine-readable is just as important as being human-readable.

Collapse
 
farzeen profile image
Tahir

This post highlights exactly why building from scratch matters. When you inherit a pre-built template, you lose the technical depth of knowing why specific performance trade-offs or design adjustments were made. Being able to explain every single animation, asset optimization strategy, and script choice line by line is precisely what differentiates a true engineer from someone who just modifies configuration files.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Understanding the "why" behind every line of code is what separates someone who just uses tools from an engineer who can truly master them.

Collapse
 
farzeenshahofficial profile image
Zohaib

Building a portfolio from scratch is no small feat, but the payoff is completely worth it. It gives you absolute control over your code and design, which templates just can't match. Great work on taking the harder, more rewarding route.

Collapse
 
syedasharshah profile image
Vicky Jaish

There is a unique kind of satisfaction that comes from writing every line of code yourself. It is the best way to truly learn and understand how everything connects. Thanks for sharing your journey and inspiring others to ditch the templates.

Collapse
 
musabsheikh profile image
Faraz

Your argument about skipping frameworks like React for a single-page portfolio is spot on. The industry has conditioned people to bundle an entire runtime and node_modules just to render a static profile. Sticking to vanilla JavaScript, custom CSS, and selective libraries keeps the footprint clean and matches the exact scope of the project. It is refreshing to see someone defend proper fundamental architecture instead of over-engineering with a virtual DOM where it is not required.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Agreed. Frameworks are powerful tools, but for a static portfolio, they often introduce unnecessary bloat. Stripping it back to basics forces a deeper understanding of the browser's native capabilities.

Collapse
 
hanzalasalaheen profile image
Marokh Kumar

This is awesome. Avoiding templates is one of the best ways to actually test your skills and learn how things work under the hood. It shows a lot of dedication to your craft and definitely makes your personal brand unique. Congrats on the launch!

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Thanks a lot, Marokh! It’s been a rewarding process. There’s something really satisfying about having total control over every line of code. I appreciate the support and the shout-out regarding my craft—it definitely makes the hard work worth it!

Collapse
 
ghazanfarakram profile image
Manal Noap

Major respect for going the "no-template" route. It's so easy to just grab a component library, but actually writing everything from scratch forces you to truly understand how positioning, layouts, and responsiveness work under the hood.

That hands-on frustration is where the real growth happens, and it's a huge selling point to future employers who want to know you can actually build, not just copy-paste. Can't wait to see the final product!

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

I couldn't agree more. That 'hands-on frustration' is exactly how I’ve been describing it! It’s one thing to make a layout work with a library, but knowing why it works is a totally different level of understanding. Thanks for the kind words—it’s great to hear that this approach is valued!

Collapse
 
ghazanfarakram profile image
Manal Noap

Building from scratch is a massive milestone. There’s nothing quite like the feeling of wrestling with raw HTML/CSS, fixing broken layouts, and finally seeing your code come to life exactly how you envisioned it.

It takes serious discipline to resist the temptation of modern templates and UI libraries, but the deep learning you get from solving those foundational problems is unmatched. Keep pushing—this is how great developers are made! Looking forward to seeing the live link.

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Thank you so much for the encouragement, Manal! You hit the nail on the head—it was definitely a challenge to resist the shortcuts, but wrestling with the raw code has given me such a better grasp of the fundamentals. I’m really proud of how it’s turning out, and I'll be sure to share the live link as soon as it's ready!