Personal is a personal portfolio website template for all creative minds who want something more for themselves. It is built on Bootstrap 5 for flexibility and ease of use. That said, even if you are relatively new to website development, you can still benefit from Personal and use it to its full potential.
With the assortment of features Personal delivers, you can push your services and grow your business to new levels. Personal has nine pages: home, about, services, portfolio, pricing, blog, blog post, contact and elements. Animated statistics, a filterable portfolio with a lightbox, a résumé timeline with skill bars, a testimonials slider, pricing tables with an FAQ and a working contact form with a click-to-load map are what you get with Personal. Personal also has blog pages if you want to persuade potential clients with in-depth project presentations.
Please note: This simple HTML template requires some technical knowledge to build a website. If you are looking for an easy drag-and-drop solution you should consider these personal website builders. These solutions will take care of registering a domain name, hosting, and all other technical aspects of your website.
What’s new in 3.0
Bootstrap 5.3.8 (1.0 loaded a Bootstrap 4.0 beta), compiled from Sass with the template’s original proportions, and plain JavaScript with no jQuery, one function per feature. Swiper 14 replaces Owl Carousel on the testimonials and client logos, PhotoSwipe 5 replaces Magnific Popup on the portfolio and elements gallery, small built-in modules replace Isotope, CounterUp and Waypoints, the drop-down menus run on CSS, and the selects are the browser’s own. npm run build compiles one minified stylesheet and one script.
Lighter pages: the home page went from 1.6 MB and 58 requests to 673 KB and 35 requests, and the contact page from 1.1 MB and 48 requests to 303 KB and 9 requests. Every photo has an AVIF version with the JPEG or PNG as the fallback, with real dimensions and lazy loading below the first screen, and the download went from 4.0 MB to 3.1 MB.
No third-party requests: Poppins is self-hosted, Linearicons and Font Awesome 4.7 are replaced by Lucide SVG icons and a 1.4 KB social-logo subset, and the contact map (OpenStreetMap, no API key) loads only when the visitor clicks Show map. Before, a maps script with a sample key loaded on every page.
Working forms: the contact, comment and elements forms send through php/send-email.php and the newsletters through php/subscribe.php, with validation, a spam trap and a status message without a page reload. Before, the old mail script put the visitor’s address in the mail headers, and the footer newsletter posted to a third party’s mailing list.
Accessibility: a skip link, one h1 per page (the home page had 19), a named slide-in mobile menu that keeps focus inside and closes with Esc, submenus, the FAQ and the pricing buttons that work from the keyboard, labelled form fields, a visible focus ring, reduced-motion support and WCAG AA text contrast, with a darker brand blue and darker page banners behind the headings.
Fixed: the contact map showed an error, the elements gallery opened the raw image file, the mobile menu button had no name, the FAQ icons never showed, two jobs in the résumé both ran “to Present”, and typos in buttons and headings are corrected.
Fictional demo content: the testimonials and the blog author no longer name real companies or people, the contact address and email are placeholders, and the one photo that showed a clothing logo is replaced. The documentation page is rewritten from the README and loads nothing from other sites (it embedded a video before).