What I doWhy IskraAboutPortfolioProcess
PLEN日本語
Get in touch

MS Gravis.

Website for a company in Skierniewice that sells tools for working wood and plastics, sharpens them and services woodworking machines, and makes its own diamond tools. It serves furniture plants and joinery shops across the Łódź and Masovian regions.

See the live site msgravis.pl
First screen of the MS Gravis website: a white and red headline about tools and service for the furniture trade on a dark background, next to a shot of work at a panel saw and a red button holding the phone number.

Iskra

Where it started

The arrangements arrived by email: a four-page structure, a palette of black and red with white to fill it out, and the three words the company uses to describe itself — precision, punctuality, experience.

There was a single goal: the phone. So the number is the first button on every page, and everything else lines up behind it.

The company had no product photography at all, so the design could not rest on a catalogue. It is carried by typography, the grid and a description of how a job runs from the phone call to collection.

Immersion

How it was made

Out of three directions, the dark one went into production: black, a red accent and a headline set in capitals across half the screen. Instead of a catalogue, the layout walks through the four steps of a job, from the phone call to picking the tools up.

The logo existed only as a photo from a flyer, so I traced it into vector. From that same file came the print versions and a DXF used to burn the logo with a laser.

The home page, the tool offer, sharpening and machine service share sections: the same offer stands in two places and is changed in one. The structure is ready for the shop the company has announced.

Substance

What is under the hood

All the content and the make-up of every page sit in two typed configuration files. A typo in the name of a section, a page or a catalogue item stops the build before the change reaches the server.

Every section can carry a note about what is still waiting for the client's confirmation. While such a note stands on a finished page, the build refuses to let the site into search engines — unconfirmed content does not go out.

The company details, opening hours and twenty cities served reach search engines as structured data, and every change goes through automated performance and accessibility checks on all five addresses.

Technical decisions
for those interested in the code
Next.js 16, React 19, TypeScript

Pages are statically prerendered, so a visitor gets ready HTML from the very first request.

Content in two configuration files

The tool catalogue, the section library and the make-up of each page sit side by side. Changing content requires no work on the components.

Types on sections, pages and the catalogue

A wrong section or catalogue name fails the type check before the change reaches production.

Indexing switch with a safety catch

A section carrying a “to be confirmed” note stops the build whenever someone tries to let the site into search engines.

A separate robots.txt group for link previews

Link previews in messengers and on Facebook work regardless of what search engines are allowed to do.

JSON-LD LocalBusiness and WebSite

The address, opening hours and cities served reach search engines in a form they understand.