Case study Automotive

A car dealer's platform rebuilt in Rust, without losing a URL, a car or a login

G8 Motor, a car dealer in Portugal, ran its stock website and back office on a Rails 6.1 app from 2018. We rewrote it in Rust on the same database and photos, so staff kept their logins, then gave the public site a new design, a 3D showroom and SEO built for search engines and AI assistants.

Client
G8 Motor
Platform
Website and back office
Industry
Automotive
Launched
2026

The challenge

The old app still worked, but it ran on an aging Rails 6.1, shared one server with its database and carried bugs that cost the dealer leads: the public search filters never worked and phone photos could appear rotated.

Before: Rails 6.1 and Ruby 3.1 on a single server, app and database together
After: A single Rust binary in a small container, on Kubernetes with managed PostgreSQL 18 and read replicas
Before: Public search filters that never worked
After: Search filters that work
Before: Duplicate addresses that opened the wrong car
After: Unique addresses, fixed by a data migration and enforced by the database
Before: Phone photos that could appear rotated, with GPS location kept
After: Photos rotated correctly, resized and stripped of metadata before they go online
Before: A contact form that failed whenever the email provider did
After: Messages sent in the background through Amazon SES, with Cloudflare Turnstile against spam

What we built

A full rewrite that kept everything the business relied on, followed by a new public site. Built in Rust with axum and PostgreSQL, and deployed on Kubernetes.

Same URLs, data and logins

The new app reads the same database, the same photo storage and the same password hashes, so links, stock and staff accounts carried over as they were.

A modern public site

A fast, mobile-first stock website with a WhatsApp button, redesigned once the rewrite was live.

A 3D virtual showroom

A three.js stand where visitors look around the cars, the brands and the contact details, downloaded only when a visitor opens it.

Search and AI visibility

Meta tags, JSON-LD, a sitemap, an FAQ and an llms.txt generated from live stock, so search engines and AI assistants can describe the dealer and its cars.

Photos straight from a phone

The back office fixes the orientation, resizes to 1920 px, removes GPS and other metadata and processes one photo at a time, so a phone camera is all staff need.

Privacy and security

Privacy and terms pages with the company's legal data, analytics only after cookie consent, Turnstile on public forms and on login, and email signed with DKIM, SPF and DMARC.

Engineering results

Counted in the code in September 2026; memory measured in production in October 2026.

78
Automated tests run on every change
11
Bugs from the old app fixed
5
Days from the rewrite to the new public site
~17 MB
Memory used at rest
  • Rollback was a DNS change while the old server stayed available
  • Record counts compared between the old and new databases before the switch
  • No photos copied: the new app uses the same storage bucket
  • Read replicas serve the public pages, with automatic fallback to the primary

Technology

  • Rust
  • axum
  • PostgreSQL
  • three.js
  • Amazon SES
  • Cloudflare Turnstile
  • Kubernetes
  • Honeybadger

Need software built around your business?

Integrations, internal tools, apps and platforms, built to order by senior engineers directing AI agents. Tell us what you need and we will show you how we would build it.