Schmidt is a personal portfolio and resume website template for a designer or developer, built on Bootstrap 5. It has a split hero with a yellow half and a cut-out portrait, Poppins type and a clean white layout. The layout is responsive and mobile-ready. There are eight pages: home, about, services, experience, work, blog, single blog post and contact.
The home page opens with the split hero: a name, a role, two buttons and a slider of two photos. The about page adds counters, personal details, a “Download CV” button, skill bars and a client testimonial slider. The services page lists eight services and four pricing plans, and the experience page is a resume with three education and three work entries. The work page shows twelve projects, nine per page, that open in a lightbox, and the blog has twelve posts, eight per page, with search and tag filters; each post has its own page with an author box, comments and a comment form. The contact page has contact details, a contact form, social links and a map that loads on click. Use Schmidt for a designer, a developer or a freelancer.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used a Bootstrap 5.0 beta), compiled from Sass with the design’s original corner radii, and plain JavaScript with no jQuery. Swiper 14 replaces Tiny Slider on the hero photos and the testimonials, PhotoSwipe 5 opens the work projects, small built-in modules replace AOS and the old counter script, and GLightbox, which was loaded on every page with nothing to open, is removed. Lucide SVG icons replace Font Awesome 4, Ionicons and a third icon font. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script bundle.
Lighter pages: the home page went from 10.77 MB and 25 requests to 1.06 MB and 13 requests, and the other pages from 0.95–6.49 MB to 0.37–0.93 MB. Every photo has an AVIF version with the JPEG or PNG as the fallback, and the two hero cut-outs went from about 5 MB each to under 0.9 MB (about 0.27 MB as AVIF). The download is 7.14 MB (it was 20.82 MB) and includes the Sass sources and the build scripts.
No third-party requests: Poppins and the icons are self-hosted, the contact page map is an OpenStreetMap map that loads only when a visitor clicks “Show map”, and a Google Analytics 4 snippet stays commented out until you add your own ID. Before, every page loaded files from five or six outside hosts: a web font service, two icon font CDNs and a map script, and the contact page showed a map error instead of a map.
Working demos: twelve distinct projects on two pages of the work grid, each opening in a lightbox that steps through the projects of the page you are on, and twelve distinct posts on two blog pages, each with its own page, with search and tag filters. “Download CV” opens a sample CV in PDF, the testimonials come from different clients, and one fictional designer, with fictional schools, studios and contact details, appears throughout. Before, the projects and the posts each repeated one title and linked nowhere, the five testimonials repeated one client, every resume entry named the same company and the designer went by three different names.
Working forms: the contact form and the comment form on the post pages send through php/send-email.php, a safe mailer with validation, a spam trap and an in-page message. Before, the contact form had no action and the comment form posted nowhere, so nothing could be sent.
Accessibility: a skip link and a main landmark on every page, one h1 per page, labelled form fields and skill bars, 44 px targets for the menu button, slider dots and pagination, a dark focus ring on every button (the old ring was a pale blue that was hard to see), reduced-motion support and WCAG AA text contrast with the yellow kept: a darker olive shade for small yellow text, darker greys, and dark labels on the yellow buttons, badges, pagination, card hovers and the work overlay.
Fixed: on phones and tablets the headline, buttons and copyright line covered the hero photo (the text now sits above it), the contact details overlapped on mid-sized screens, the post page showed a missing image, 93 links that went nowhere now open a real page, post, project or section, the about page opened its first section twice, and typos and a comment count that did not match the comments are corrected.