Your website does not always need a framework.
Frameworks are excellent tools. They are not mandatory badges of professional development. For a small portfolio, static HTML, CSS and JavaScript can be fast, easy to host and remarkably capable.
Start with the simplest architecture
If your site has mostly static pages, a server-rendered application or frontend framework may add complexity without solving a real problem. Start with the content and interactions you actually need.
Performance is part of UX
Smaller JavaScript bundles, fewer dependencies and optimized assets can reduce the amount of work a browser needs to do. The goal is not to chase a benchmark score; it is to make the experience feel immediate.
Use JavaScript where it helps
Knight7 only needs JavaScript for things like theme persistence, mobile navigation, FAQ interactions, scroll reveals and the contact form. That is enough to create a polished experience without turning the entire site into an application.
Email without a custom backend
EmailJS can handle the contact form from the browser. Its sendForm API maps form field names to template variables, which makes a static contact page practical for small projects. Keep private credentials out of frontend code.
Know when to upgrade
If the project grows into authentication, a dashboard, a database, complex content management or highly dynamic data, then a framework and backend may become the right choice. Use complexity when the problem demands it.