Loading...
Loading...
A one-page website for injection moulders and polymer wholesalers, with an instant RFQ cost calculator, a filterable product portfolio with spec sheets, a facility video tour, team, news and testimonials.
A three-step quote modal: choose a service, resin grade and volume, see a live wholesale estimate with volume-tier discounts, then send contact, delivery and spec details.
A bento-style gallery filtered by sector (packaging, automotive and medical, bulk resins, extrusions), where each product opens a spec sheet with material, lead time, MOQ and certifications.
"Build Innovative & Industrial Solutions" headline over a blueprint line-art background, with a circular framed photo, a coral crescent accent and a plant-capacity badge.
A video modal with play and mute controls and three tour chapters: robotic moulding floor, Class 100k cleanroom, and silo and wholesale rail.
Client logos, about section, three service cards, Why Choose Us progress bars, a navy stats counter, team profiles, news articles and a testimonial slider.
A fixed header that gains a blurred background on scroll, highlights the section currently in view, and collapses into a mobile menu with a quick RFQ button.
PolyTek is built for a company that does two jobs: custom plastic manufacturing (injection moulding, extrusion and tooling) and wholesale polymer distribution (bulk resin pellets and masterbatches). Most templates cover only one of these. PolyTek presents both on a single, clean page and turns interested visitors into quote requests.
The design pairs a deep navy with a warm coral-orange and an ice-blue background tint, set in heavy Montserrat headlines. Visitors scroll from a blueprint-style hero through client logos, the company story, services, a Why Choose Us section with progress bars, a stats counter, the team, a product portfolio, news and testimonials, ending at a wholesale contact desk. The standout feature is the instant RFQ cost calculator, which gives buyers a price estimate before they even talk to sales.
PolyTek is a single-page React application built with Vite. App.tsx arranges the sections in order and owns the state for the two global modals: the RFQ calculator and the video tour. Any "Get a Quote" button, including the one on each service card, opens the calculator, and service cards pre-select their own service:
const handleOpenQuoteModal = (serviceId?: string) => {
setSelectedServiceId(serviceId);
setQuoteModalOpen(true);
};
All content (services, products, team, blog posts, testimonials and client logos) lives in a typed mockData.ts file, so the site can be rebranded or connected to a CMS by changing one data layer.
The calculator has three steps: estimator, details and success. The estimate is based on a price per metric ton for each resin grade, with automatic volume-tier discounts:
const baseResinPrices: Record<string, number> = {
PP: 1250, HDPE: 1320, LDPE: 1380, ABS: 1850,
PC: 2600, PET: 1180, PVC: 1100, PCR: 1150
};
let discountPercent = 0;
if (quantity >= 100) discountPercent = 18;
else if (quantity >= 50) discountPercent = 12;
else if (quantity >= 20) discountPercent = 6;
const estimatedTotal = Math.round(
unitType === 'tons'
? quantity * currentPricePerTon * (1 - discountPercent / 100)
: quantity * 1.85 * (1 - discountPercent / 100)
);
Volume is priced in metric tons for bulk resin and in units for moulding and tooling jobs, switching automatically with the chosen service, and buyers can mark whether they have CAD files. The details step then collects their name, company, email, phone, delivery ZIP or port, and spec notes such as masterbatch colour, wall thickness or FDA/RoHS needs.
Styling uses Tailwind CSS 4 with brand tokens declared in @theme:
@theme {
--font-heading: 'Montserrat', sans-serif;
--font-body: 'Plus Jakarta Sans', sans-serif;
--color-brand-orange: #f25a38;
--color-brand-orange-hover: #dc4827;
--color-brand-ice: #eef5fa;
--color-brand-navy: #182848;
--color-brand-dark: #1e242f;
}
Key Technologies:
Problem: Wholesale buyers want a rough price before they share their contact details, but real quotes depend on resin, volume and service.
Solution: I built the RFQ modal as an estimator first, form second. Buyers choose a service and resin, set a volume and see an itemised estimate with the discount tier already applied. Only then do they continue to the contact step. Because they have already seen a number, the leads that come through are warmer and better qualified.
Problem: Custom moulding and bulk resin supply attract different buyers, and a single product grid would mix automotive housings with 25 kg pellet sacks.
Solution: The portfolio uses sector filters (Industrial Packaging & Crates, Precision Automotive & Medical, Bulk Wholesale Resins, Extruded Profiles & Conduit). Each product opens a spec sheet showing the details each buyer cares about: material, lead time, MOQ and certifications such as ISO 13485, IATF 16949 or FDA compliance.
Problem: With 12 sections on one page, visitors can easily lose track of where they are.
Solution: The fixed header listens to scroll events, gains a blurred white background once the page moves, and highlights the navigation link for the section currently in view. Every section has an anchor id, so the navigation, the footer links and the "Discover More" button all scroll to the right place.

Mobile Application · Next.js · React

Web Application · Next.js · React Flow

Mobile Application · Next.js · React