Customer Knowledge Base

INSTAR Wiki - React.js / Gatsby.js
INSTAR Wiki - React.js / Gatsby.js
INSTAR Wiki - React.js / Gatsby.js
INSTAR Wiki - React.js / Gatsby.js
INSTAR Wiki - React.js / Gatsby.js

Project information

  • Category: WebDev
  • Client: INSTAR Deutschland GmbH Guangzhou, China
  • Project date: 01 Apr, 2012
  • Project URL: wiki.instar.com

The problem: INSTAR had no structured online documentation — customers emailed, called, or asked a sales rep for answers.

What I did: Designed and built the internal and customer-facing wiki from scratch as a TypeScript React + Gatsby static site with an MDX content pipeline (a remark plugin chain handling PrismJS code highlighting, image optimization to WebP/AVIF via gatsby-image/Sharp, auto-generated heading anchors, and linked-file copying). It ships as an installable, offline-first Progressive Web App — a Workbox service worker with a precached page set plus a full PWA manifest — with per-page SEO (sitemap, canonical URLs, structured meta/Open-Graph/Twitter cards) and GA4 + gtag analytics.

The build runs with a tuned Node heap and a custom Webpack config (SSR-safe shims for browser-only modules). It is a per-locale (DE/EN/FR) static build served by a custom multi-stage Docker image: a small Go/GoFiber static server (prefork, recover + structured logging) on Alpine, tagged and pushed to the self-hosted GitLab container registry. Those per-locale images run as separate Nomad jobs behind a single hardened nginx ingress — TLS 1.3, HSTS, strict security headers, HTTP/2, HTTP to HTTPS redirect — with Let's Encrypt renewed by a scheduled Nomad batch job. Elasticsearch powers faceted full-text search (weighted multi-field, fuzzy, autosuggest, streaming results, shareable state in the URL).

Today it is the first place support, sales, and customers go before a ticket is even opened — the same Elasticsearch stack that later became the backbone of our AI prediction layer and the admin dashboard

The payoff: deflected the "where do I find X?" ticket category — for over a decade.

Designed with BootstrapMade