Industry · Mechanical servicesClient project
Sandanger Industriservice
Sandanger Industriservice AS is a mechanical service company in Sauda, Norway, founded in 2023. They needed a site that feels like the workshop floor, explains the work in plain Norwegian, and that the team can keep up to date themselves without calling a developer.
- Type
- Website and back office
- Services
- Web design, Brand assets, Web development, Back office

Challenge
Industrial buyers judge a supplier in seconds: can they do the job, and how do I reach them? The company had its logo only as a flat image, a handful of workshop photographs, and a number of business details still to be confirmed.
Objective
Launch a Norwegian site that makes the services and the route to contact obvious, uses the company's own photographs, and lets the team edit every text, image and opening hour themselves without being able to break the site.
Strategy
Scandinavian-industrial rather than polished corporate: dark steel, safety yellow, heavy uppercase type, torn edges and hazard stripes, with the workshop photographs carrying the page. Behind it, a small back office that treats every save as a build, so the public site only ever changes to something that works.
Solution
A Norwegian site with a home page, services with a page per service, an area page for local search, about, projects with a page per project, and contact with a map. Contact-form enquiries land in the back office inbox, with CSV export and optional webhook notifications. Before launch the site can be closed to the public and opened to chosen people by personal link or IP address. It deploys automatically from Git to Hostinger, and content and uploads live outside the release folder, so they survive every deploy.
Result
The site is on its own domain, sandangerindustri.no, but stays closed to the public while the company confirms its remaining business details; only invited people can see it until then. No traffic or commercial results are claimed yet. The server, back office and content rules are covered by automated tests, and every page is checked in a real browser at phone, tablet and desktop sizes.
Design and technical decisions
- The logo existed only as a raster image, so it was rebuilt as a vector and fitted to the original shape by shape and letter by letter, then exported in stacked, horizontal and symbol versions, in colour and reversed.
- Unconfirmed facts are never presented as real. Each one carries a visible 'Bekreftes' badge on the preview and a yellow field in the back office, and a launch checklist counts what is left.
- A dependency-free Node.js server renders the site to static HTML, so pages are fast and there is almost nothing to maintain or patch.
- Every save in the back office rebuilds the site first. If the new content cannot be built, the change is rolled back and the editor is told why, instead of the site going down.
- Back office security: every person has their own account with an authenticator-app second factor and one-time recovery codes, and new people join through a one-time invite link where they choose their own password. Passwords are hashed with scrypt, sessions use signed cookies, failed logins are rate-limited, every change is origin- and CSRF-checked, and a strict content security policy allows no inline scripts.
- Two people editing at the same time cannot overwrite each other: a save from an older tab or another device is merged into what was saved since, and the editor only says 'published' once the change is actually live.
- Asset URLs carry a content fingerprint, so browsers can cache them for a year and still pick up a new stylesheet the moment it changes.
- The rough finish (grain, sparks, a scrolling marquee) is decoration only: it never blocks content and switches off for visitors who prefer reduced motion.
Inside the build




