Project case study
RentMetal
A rolled metal catalog with weight and delivery calculators





Technology stack
- Typescript
- Next.js
- Payload CMS
- PostgreSQL
- GraphQL
- shadcn/ui
- Tailwind CSS
Someone buying rolled metal usually knows exactly what they need: a 50×5 angle, twelve meters, delivered to Podolsk. The RentMetal website lets them take that request, find the item, work out the weight and delivery cost, and send the order right away.
The catalog
The range is organized into sections and categories: rebar, beams, angles, rounds, sheets, pipes. Every item has its own card that goes straight into the cart.

The catalog holds more than three thousand items and prices change all the time, so inventory management has lived in a Payload CMS admin panel from day one. A manager updates products, prices, stock, descriptions, and photos without help.

Meters, tons, and delivery
Metal gets ordered in meters, kilograms, or tons, and converting between them by hand is tedious. The metal calculator takes the profile, steel grade, and dimensions and returns weight, length, and an estimated price.

The second calculator handles delivery. The buyer enters an address and picks a truck, and the site works out the distance from the Moscow Ring Road and shows the price at the chosen rate.

Orders
A product goes into the cart straight from the catalog. The cart opens as a side panel, is remembered in the browser, and survives a page reload. Each item keeps its name, size, steel grade, quantity, and price per ton.
Checkout takes three steps: the cart, the order form, and a confirmation page. The form requires a name and a phone number, while the delivery address, email, and a comment are optional. Files can be attached to the request, such as a specification, a drawing, a spreadsheet, or a PDF.
Orders and callback requests go through one handler, and every request gets its own number. The manager receives the full order with attachments by email and in Telegram. All that is left is to call the buyer and agree on terms.
How people search for metal
People search for metal very specifically, like “channel 16P price” or “galvanized sheet 0.5”. A set of keywords was built around such queries, and categories and product cards follow it. Technically, metadata, the list of pages for search engines, indexing rules, and product markup are all set up.

Under the hood
The site and the admin panel run as one Next.js and Payload CMS application on PostgreSQL. It is deployed to a dedicated server, with updates released automatically. Some of the illustrations on the site were made with generative models.
Catalog pages are already indexed, and inquiries from the site reach a manager in Telegram. Changing the price of rebar now takes a minute in the admin panel.
Have a similar task?
Tell us about it and we will find the solution together, from the idea and design to launch and support.
Or write directly