Next.js in Valencia
Next.js development for Valencia exporters and B2B sellers
A Next.js development company working with Valencia exporters and wholesalers. Catalogues where every customer sees a different price, which is the one case the App Router defaults get wrong.
- Working day overlap
- Six hours or so, two hours behind Ankara, with the later Spanish day widening the afternoon
- Who buys here
- Exporters, wholesalers, agri-food producers and industrial distributors selling to businesses rather than to the public
- What that changes
- A catalogue priced per customer cannot be statically generated, so the rendering strategy becomes the first architectural decision rather than a detail
- Local specifics
- Most of these businesses sell into several countries from one Spanish entity, so currency, tax display and language multiply across the same catalogue
Valencia sells to businesses, and that single fact changes a web project more than anything about the city.
The buyers here are exporters, wholesalers, agri-food producers and industrial distributors. Their customers are other companies with negotiated terms, which means a catalogue where the product is the same for everyone and the price is not. That is an unusual shape for a modern front end, and it is the case the standard advice handles worst.
Why a per-customer price breaks the default
Most guidance about the App Router assumes a page is the same for every visitor and can therefore be built once and served from a cache. A B2B catalogue violates that in a single field.
The temptation is to give up and render everything per request. That works and it is slow, because the ninety per cent of the page that is identical for everybody - the description, the images, the technical sheet, the related products - gets rebuilt for every visitor along with the one number that actually varies.
The design that works splits the page at that seam. The shared content is generated once and cached; the customer-specific numbers are fetched for the logged-in buyer and composed into it. Deciding where that seam sits is the first architectural conversation on these projects, and the rendering model is worth reading before having it.
The second half of the same decision is keeping the price fetch out of the client bundle. A per-customer price is exactly the kind of thing that tempts a developer into a client component with a loading spinner, and that boundary has a cost measured in shipped JavaScript.
Public catalogue, private prices
Valencia exporters almost always need both, and conflating them causes trouble.
The public catalogue is how a buyer in another country finds you at all, so it has to be indexable, fast and complete. The logged-in catalogue is where negotiated terms live. These are two different renderings of the same product data, and the clean answer is two routes rather than one route that behaves differently depending on who is asking.
That also keeps you out of the one search practice with a real penalty attached: showing a crawler something materially different from what a visitor sees.
Five countries, one company
The other recurring Valencia question is how many sites a multi-country exporter needs. Usually one.
Language is the part that genuinely needs separate URLs and declared alternates between them, because a single page cannot rank in two languages. Currency, tax display and incoterms are properties of the customer or the delivery address, not reasons to duplicate a catalogue. How hreflang actually works covers the first half; the second half is usually a settings screen somebody was about to turn into four domains.
The country-level ground for Spain - certified invoicing, regional tax rules, the public-sector accessibility requirement - is on the Spain market page.
Commercially
Scope fixed in writing before work starts, priced per project rather than as a day rate.
Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in euros, by bank transfer, with no Turkish VAT because exported services are exempt.
