HR & industry

Hans Leutenegger SA

A Swiss job portal: three languages, two audiences and a search engine that has to be instant.

Year
2026
Design & build
6 weeks
Stack
Next.js · React · Tailwind · Vercel
  • Information architecture
  • Design
  • Development
  • Multilingual
  • SEO

Demo version put online by Kayzen Web at a Vercel address; the final domain belongs to the client.

https://hl-web-master.vercel.app/
Home page of the Hans Leutenegger SA website — HR & industry, built by Kayzen Web
languages, three site trees
3
year founded
1965
costed optimisation jobs
2
The starting point

What needed solving.

The background

Hans Leutenegger SA is a Swiss industrial recruitment agency founded in 1965: temporary and permanent placements in industry, construction and engineering.

The constraint

Three audiences and three languages. Candidates want a job near home, in their trade, right now. Companies want a recruitment partner. And Switzerland demands multilingualism — German, French, Italian — not as an option but as a condition of existence.

The response

The job search engine becomes the home page: filters by region and trade, instant results, no page reload. The employers' area is a parallel, fully fledged entry point. Each language has its own real site tree, with its own URLs and hreflang.

Measured, not claimed

The scores recorded at delivery.

Lighthouse scores for the live site. We publish them as they are: when one is low, its cause and the plan to fix it are set out below rather than glossed over.

PageSpeed
62
Performance: 62 out of 100
96
Accessibility: 96 out of 100
96
Best practices: 96 out of 100
92
Search engine optimisation: 92 out of 100
Design & art direction

Every design choice, and the reason for it.

  1. Search as the home page

    Region and trade filters on the first screen, results below the fold. A candidate who has to navigate before they can search is a candidate lost.

  2. Speculative applications always visible

    A large share of placements do not come from a published vacancy. The speculative application is a top-level path, not a footnote.

  3. Two entry points, openly separated

    Candidates and employers have opposite needs. The split is explicit from the header onwards, in all three languages.

Project palette

  • Swiss red

    #B21E2A

    Identity

  • Industrial grey

    #4A5158

    Structure

  • White

    #FFFFFF

    Background

  • Ink

    #1B1E22

    Text

Type system

Display

Inter 700

Body text

Inter 400

A single family for three languages: German produces long words, Italian short lines. A family with a wide character set and good hyphenation avoids three different layouts.

Engineering

What's under the bonnet.

  • Next.js
  • React
  • Tailwind
  • Vercel
  1. Instant client-side search

    Filtering happens without reloading the page. On a jobs portal, every round trip to the server is paid for in abandoned searches.

  2. Three real site trees

    /de/, /fr/, /it/ with reciprocal hreflang and clean canonicals. A client-side switch would have left only one language indexed.

  3. Two identified jobs

    62 for performance and 92 for SEO. The first comes from loading every vacancy on first render — server-side pagination is the chosen fix. The second comes from missing descriptions on some trade pages. Both are costed.

Search engine optimisation

How the site makes itself findable.

  1. One page per trade and per region

    “Emploi soudeur Suisse romande” (welder jobs in French-speaking Switzerland), “Stellen Elektriker Bern”. Crossing trade × region is the foundation of a jobs portal's search visibility.

  2. JobPosting markup

    Each vacancy carries its type, location, contract and validity date. That is what makes it eligible for display in job search results.

Site structure

What was delivered.

  • Home — job search
  • Jobs by trade
  • Jobs by region
  • Speculative application
  • Employers' area
  • The agency since 1965
Method

How the project unfolded.

  1. Architecture

    Search on the home page, two entry points, three languages.

  2. Design

    Instant filters, speculative applications at the top level.

  3. Development

    Client-side filtering, multilingual site trees, JobPosting.

  4. Next

    Server-side pagination of vacancies, descriptions for trade pages.

Questions

What we are often asked.

Because a client-side switcher produces only one indexable URL. In Switzerland, that means choosing one language and giving up the other two markets — which is exactly what a national portal cannot do.

The same high standards, for your website.

A free audit of your current site, a quote within 24 hours and written reasoning — like the case study you have just read. Pay in three interest-free instalments; local funding schemes checked before you sign.

Share