Skip to content
Ozan Doruk Yavuz logo Ozan Doruk Yavuz

Labonyx Product Catalog Website

The public website and product catalog for Labonyx, a scientific laboratory supplies company, live at labonyx.com. It is a fast, bilingual static site built with Astro and React islands for fuzzy search, variant filtering, and a quote flow. The interesting part is the content pipeline: the catalog used to live in Airtable, but as it grew the pricing did not fit, so I moved it onto a Google Sheets and Drive backend the company already owned and pulls it in at build time. The result is free, fully configurable, and edited from the same desktop ERP I built, with no per-seat catalog fees.

  • Astro
  • React
  • TypeScript
  • Tailwind CSS
  • Google Sheets API

Summary. The public website and product catalogue for Labonyx, a scientific laboratory supplies company, live at labonyx.com. It is a fast, bilingual static site built with Astro, with small React islands for fuzzy search, variant filtering, and a quote flow. The part worth telling is the content pipeline: the catalogue used to live in Airtable, but as it grew the pricing stopped making sense, so I moved it onto a Google Sheets and Drive backend the company already owned and pulls it in at build time. The result is free, fully configurable, and edited from the same desktop ERP I built.

The Labonyx homepage with the logo, main navigation, a product search box, and a hero image of laboratory pipette tips
The homepage, live at labonyx.com.

A static catalogue, built for speed and search

The site is a pure catalogue: categories, products, and their variants down to the SKU, with technical specs, image galleries, an information hub, and a quote and contact flow. It is fully static: every page is prebuilt HTML that loads fast and costs almost nothing to serve. There is no backend, no login, and no database to attack at runtime. Where the page needs to be interactive, a small React island hydrates just that part: a fuzzy search across products and variants, the filterable variant table, and the quote modal. It is bilingual throughout, Turkish at the root and English under /en/, with a localized sitemap.

Off Airtable, onto a backend the company owns

The catalogue started on Airtable, which was convenient until it grew: the pricing did not fit a catalogue this size. So I moved the data onto the Google Sheets and Drive backend the company already used for everything else, and built a small pipeline that pulls it in when the site is built. No runtime database, no per-seat catalogue fees, and full control over the data. Content is edited in the desktop ERP rather than in a developer’s spreadsheet, so a non-technical person owns the catalogue end to end.

Labonyx ERP (desktop app) edits content, with a diff preview and a change log Google Sheets + Drive categories, products, variants, settings, blog, images Build (Astro, on GitHub Actions) pull the sheet data; download only changed images optimize to WebP; generate static HTML Static site at labonyx.com React islands for search, filters, and quotes no database, no API calls at runtime edits and saves at build time deploy over FTP
Content is edited in the ERP, lands in Google Sheets and Drive, and a build pulls it in, optimizes the images, and publishes a static site that needs no database to run.

A pipeline that only does the work it has to

The build is careful about images, which is where catalogue sites usually get slow. Each image is cached by its Drive file identifier and size, so a rebuild only downloads the ones that actually changed, then converts them to WebP. Images are matched to products by a filename convention rather than by links stored in the data, so swapping a product photo is just uploading a file, which the ERP does automatically. Everything else, the colours, the company details, the contact information, even the link to the dealer portal, comes from a settings sheet, so the whole site is reconfigurable without touching code.

The catalogue content, every product, variant, and image, is edited in the Labonyx internal ERP I built, which writes to the same sheets and Drive folders this site reads at build time. The website, the dealer portal, and the ERP all draw on one source of data the company fully owns.

Questions

Is it really fully static?

Yes. Every page is prebuilt HTML. The only thing that talks to the network at runtime is the quote form. Search, filtering, and the whole catalogue run from data baked in at build time, which makes the site fast and cheap to host.

Why move off Airtable?

The catalogue outgrew Airtable’s pricing. The company already kept its data in Google Workspace, so I moved the catalogue onto a Google Sheets and Drive backend it owns. It is free, fully configurable, and edited from the desktop ERP, with no per-seat fees.

How does someone update a product?

They edit it in the ERP, which writes to the content sheet and uploads the images to Drive. The next build pulls the changes in, optimizes the images, and publishes the new static site.

Is it multilingual?

Yes, Turkish and English. The Turkish site is at the root and the English mirror lives under /en/, with a localized sitemap so both are indexed.