logo
Hanhaa Supply Chain Solutions

Frontend Engineer

EU

June 24, 2026 at 2:30 PM

✨ AI summary

Location

  • Porto, Portugal (Hybrid)

Languages

  • TypeScript

Frameworks

  • SvelteKit
  • Svelte
  • Tailwind CSS
  • Melt UI
  • TanStack Svelte Query
  • openapi-fetch
  • Mapbox GL
  • Chart.js
  • D3
  • Storybook
  • Vite

Cloud Services

  • Google Kubernetes Engine (GKE)
  • Google Cloud Platform (Container Registry)
  • ArgoCD
  • Sentry

Experience Level

  • 4+ years building production web applications

Full-Stack Frontend Engineer — Hub Portal


We're hiring a Full-Stack Frontend Engineer to own the Hanhaa Hub Portal — the production SvelteKit app that fleet operators, logistics teams and admins use every day to manage orders, journeys, returns, devices, invoicing and live map-based tracking.


This is a frontend-deep role with a real DevOps tail. You won't just write components — you'll own the build, the container, the CI pipeline and the Helm deployment that ships your code to GKE. We're a small team, which means the person who writes the UI is the person who can roll it to production and debug it there.


The backend exposes a typed OpenAPI contract and your client is generated from it, so frontend and backend stay in lockstep.



WHAT YOU'LL OWN


• The entire SvelteKit frontend — a large component library and many routes, with authenticated and public route groups, server-side load functions, and the typed API layer.

• The type-safe API client — generated from the backend's OpenAPI schema and wrapped per resource (orders, journeys, devices, contracts, invoices, returns, geofences and more).

• Map & data-viz surfaces — Mapbox GL journey tracking with clustering, Chart.js / D3 dashboards, emissions and analytics views.

• Auth & session flows — cookie-based JWT sessions, 2FA/MFA, device-trust tokens, RBAC by user group, admin impersonation.

• The delivery path — Docker image build, CI pipeline, container registry and the Helm values that deploy the frontend to GKE.



TECH YOU'LL WORK WITH


SvelteKit 1.27, Svelte 4, TypeScript 5 (strict), Tailwind CSS 3, Melt UI, TanStack Svelte Query 5, openapi-fetch, Mapbox GL 3, Chart.js 4, D3 7, Zod, Vitest, Playwright, Storybook 8 + Chromatic, Vite 4, Docker, Helm, GKE, ArgoCD, Sentry, OpenTelemetry.



WHAT WE'RE LOOKING FOR


• 4+ years building production web apps in a modern component framework — Svelte/SvelteKit strongly preferred, but strong React/Vue engineers willing to go deep on Svelte are welcome.

• Strong TypeScript (strict mode, generics, typed API contracts).

• Solid CSS/Tailwind and a real eye for layout, hierarchy and polish.

• Comfortable with SSR concepts (load functions, hydration, server vs client).

• Experience consuming typed REST APIs — OpenAPI / codegen a big plus.

Testing discipline: unit + e2e, and you write tests that fail when behaviour breaks.

Kubernetes — comfortable deploying and operating the app on a cluster (Helm values, rollouts/rollbacks, reading logs, debugging pods). Required.

Docker — writing and debugging multi-stage builds.



NICE TO HAVE


Helm / GitOps (ArgoCD), GCP (container registry, GKE), CI/CD pipelines, Mapbox GL / Chart.js / D3, OpenTelemetry / Sentry.



WHAT SUCCESS LOOKS LIKE


• 30 days: shipping features and bug fixes to staging; comfortable with the component library, the API client and the deploy pipeline.

• 60 days: independently owning a product area, regenerating the API client on backend changes, and deploying to production with confidence.

• 90 days: driving frontend architecture decisions, improving the design system and observability, and acting as the go-to owner of everything the user sees — from first paint to the GKE pod serving it.



LOCATION


Porto, Portugal. This is a hybrid role — the number of in-office days is open to discussion. You must be based in the Porto area.


  • Please apply directly. No agencies or recruiters.