Skip to content

Freelancer Homepage Template

Bootstrap 6 freelancer homepage for a copywriter or consultant with services, a process stepper, packages, a price estimator, review carousel, FAQ and discovery call booking form.

Live preview

Open in new tab

Code

A conversion-focused freelancer homepage built with Bootstrap 6 for an independent copywriter, with services, a four-step process, fixed-price packages, a live price estimator, a review carousel, an FAQ and a discovery call booking form.

How it works

The page root .hb-page pins data-bs-theme="light", while the hero header .hb-top and the reviews section switch to data-bs-theme="dark". The --bs-primary-* role tokens are re-mapped to the lime brand color.

  • Navbar: navbar lg:navbar-expand with a <dialog class="drawer drawer-end"> on small screens. The script keeps aria-expanded on .hb-toggler in sync with the drawer events and closes it after an in-page link.
  • Hero: headline with the tilted .hb-hl highlight, two calls to action, an avatar-stack with rating, and .hb-visual: a framed photo with two floating cards. The availability card (data-hb-opening) is computed in script.js as the first Monday at least two weeks away, so the date never goes stale.
  • Services: four .hb-service cards.
  • Process: a Bootstrap 6 stepper inside a .contains-inline wrapper (md:stepper-horizontal goes horizontal in a wide wrapper) plus a guarantee banner.
  • Packages: three .hb-plan cards with .hb-plan-featured in the middle, then .hb-estimator: two Bootstrap 6 Range sliders whose values the script multiplies by HB_PAGE_RATE and HB_EMAIL_RATE, announcing the total in a polite live region.
  • Reviews: stats and a Bootstrap 6 scroll-snap carousel.
  • FAQ: an exclusive <details name="hb-faq"> accordion with accordion-gap.
  • Booking: <form data-bs-validate novalidate> with a Combobox for the service and a Datepicker whose earliest date is the computed next opening. On submit the script flags invalid fields, simulates the request and shows #hb-toast.

Customization

  • Change --hb-forest, --hb-lime and --hb-cream in .hb-page (style.css) to rebrand, and update the --bs-primary-* overrides beside them.
  • Set your own rates in HB_PAGE_RATE and HB_EMAIL_RATE, and your booking lead time in HB_LEAD_WEEKS, at the top of script.js.
  • Edit the .hb-plan cards or remove .hb-plan-featured to make all packages equal.
  • Replace the setTimeout in the submit handler with fetch() to your form service or CRM endpoint.
  • Add a slide by copying a .carousel-item and adding a matching indicator button with the next data-bs-slide-to value.

All photos come from Unsplash; replace them with your own portrait and client photos.

Accessibility

A skip link jumps to #hb-main. The drawer is a native <dialog> with a labelled close button, the carousel has aria-roledescription and labelled controls, the estimator result uses aria-live, and form errors use invalid-feedback. The toast is role="status", focus rings use the lime brand color, and hover lifts and smooth scrolling are disabled under prefers-reduced-motion.

Bootstrap 6 notes

Built on Bootstrap 6.0.0-alpha.1 (alpha APIs can still change). For Bootstrap 5 developers: buttons use btn-solid theme-primary, the navbar uses a Drawer instead of navbar-collapse, the accordion is native <details>, and validation uses data-bs-validate. Range, Combobox, Datepicker and Stepper are new Bootstrap 6 components. The Combobox has no reset method, so the chosen service stays after the form resets.

Requirements

Add these to your page (already included in the download):

  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/css/bootstrap.min.css">
  • <script type="module" src="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/js/bootstrap.bundle.min.js"></script>
  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
  • <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap">

Built for Bootstrap 6.0.0-alpha.1. Bootstrap 6 ships as an ES module, so its script and this component's JavaScript load with type="module". Alpha releases can still change before the stable version.

Freelancer Homepage Template – Bootstrap 6 home pages component screenshot
Freelancer Homepage Template · Bootstrap 6 Home Pages

More Home Pages

Fitness Gym Homepage Template – Bootstrap 6 home pages preview

Fitness Gym Homepage Template

Dark Bootstrap 6 gym homepage with drawer navbar, photo hero, programs, a weekly class timetable, membership plans with a range-based recommender, coaches and a free-pass form.

Bakery Homepage Template – Bootstrap 6 home pages preview

Bakery Homepage Template

Warm Bootstrap 6 bakery homepage template with an arched photo hero, tabbed product menu with tray, story stepper, cake order form with datepicker, reviews and a Bread Club dialog.

Mobile App Landing Homepage Template – Bootstrap 6 home pages preview

Mobile App Landing Homepage Template

Bootstrap 6 mobile app landing page with a phone mockup hero, store buttons, feature bento, screenshot carousel, stepper, reviews, FAQ and a download-link form.

Personal Portfolio Homepage Template – Bootstrap 6 home pages preview

Personal Portfolio Homepage Template

Bootstrap 6 personal portfolio homepage for a designer or developer with an arch portrait hero, filterable projects, case study dialog, experience stepper, testimonials and contact form.

Photographer Portfolio Homepage Template – Bootstrap 6 home pages preview

Photographer Portfolio Homepage Template

Dark Bootstrap 6 photographer portfolio homepage with a photo mosaic hero, tabbed gallery and viewer dialog, package price estimator, reviews and booking form.

Wedding Planner Homepage Template – Bootstrap 6 home pages preview

Wedding Planner Homepage Template

Elegant Bootstrap 6 wedding planner homepage with arched photo hero, service packages, planning stepper, filterable gallery lightbox, review carousel, FAQ and inquiry form.