Skip to main content
Back to all case studies
01godaindonesia.novizarhadisaputra.my.id

GODA Indonesia

EV Automotive Platform with 3D WebGL Showroom & Rust Backend

Electric vehicle digital platform combining an interactive 3D browser showroom, GPS-based dealer locator, and a hexagonal-architecture Rust backend.

Role
Systems Architect & Full-Stack Engineer
Year
2026
Production Domain
godaindonesia.novizarhadisaputra.my.id

Context & Challenge

Prospective EV buyers needed detailed unit inspection before visiting a showroom, while legacy URLs required zero-404 continuity and the backend needed strict security with minimal memory footprint.

Architecture & Solution

Built a SvelteKit 2 (Svelte 5) frontend with Three.js/Threlte for 360-degree 3D inspection and battery X-Ray views, backed by a Rust Axum 0.8 + SQLx + Argon2id API on PostgreSQL.

Key Implementation Details

  • Interactive 3D WebGL showroom featuring colorway switching and battery X-Ray diagnostics.
  • Geofenced locator covering 273 verified dealers across 38 provinces via Haversine GPS sorting.
  • Real-time EV operational savings calculator and leasing installment simulator.
  • Zero-failure 301 route healing mapping 21 legacy URLs alongside 15 official catalog models.

System Architecture Flow

L1: Client / 3D UI

SvelteKit 2 (SSR) + Three.js WebGL + MapLibre GL

Renders the 3D showroom with orbit controls, EV financing calculators, and interactive dealer maps.

  • Svelte 5 Runes
  • Threlte
  • Tailwind CSS v4
  • Zod
L2: Edge / Proxy

Nginx Reverse Proxy + Security Headers

Handles TLS termination, SSR and API traffic routing, OWASP headers, and request rate limiting.

  • Nginx
  • HTTP/2
  • SSL/TLS
  • Rate Limiting
L3: Core API

Rust Axum 0.8 (Clean Hexagonal Architecture)

Serves catalog endpoints, geospatial dealer sorting, RBAC auth, 2MB payload limits, and 301 route healing.

  • Tokio
  • Argon2id
  • JWT
  • Moka Cache
L4: Data Layer

PostgreSQL + In-Memory Cache

Stores 10 relational domains, 38 provincial region records, and dynamic RBAC permissions.

  • PostgreSQL
  • SQLx Compile-Time Queries
  • Moka

Technology Stack

  • SvelteKit 2
  • Svelte 5
  • Three.js
  • MapLibre GL
  • Rust
  • Axum 0.8
  • SQLx
  • PostgreSQL
  • Nginx

Next Case Study

02 / GDPS ERP (BizSuite)

Read Full Case Study