Skip to content
All projects

Web app

tesEngine

Live-synthesized engine sound in the car browser, driven by GPS speed. 51 engines, from an American V8 to a Dacia 1300 and a Formula V10, with gears, pops and seven dashboard gauges. No samples: every cylinder firing is computed in real time with Web Audio.

tesEngine - hero screenshot

tesEngine turns an electric car into a combustion one, at least by ear. It runs straight in the car browser (built for the Tesla screen) or on a phone.

Real-time audio synthesis

  • No recordings: an AudioWorklet computes every exhaust pulse, cylinder by cylinder
  • Firing order and banks shape the character: the burble of a crossplane V8, the scream of a V12, the Harley "potato-potato"
  • Header and tailpipe resonance, a muffler that opens under load, VTEC, turbo with blow-off valve, supercharger whine
  • Pops & Bangs on lift-off and on gear changes

From GPS to RPM

  • Speed comes from the Geolocation API at one fix per second; between fixes it is extrapolated from acceleration
  • The car model infers the throttle from acceleration and picks the gear: it shifts later when you push harder
  • 51 engines from 31 brands, each with its own gear ratios, redline and idle

Dashboard

  • Seven canvas-drawn gauges: Classic, Sport, Minimal, Race, Retro, Horizon and 80s
  • Mechanical drum odometer, trip, km/h or mph, fullscreen and wake lock
  • Fits the car screen, tablets and phones, portrait and landscape

Landing

  • Animated 3D V8 in Three.js, synced to the engine RPM
  • Live preview of every gauge and engine, right on the page

Tech stack: JavaScript, Web Audio API (AudioWorklet), Three.js, Canvas 2D, Geolocation API, Screen Wake Lock API, Vite, Vercel.

Screenshots

10 images

Want something like this?

Start a project