Vehicle images for mobile apps, sized for the screen, light on the network, identical on every card.

App teams inherit vehicle imagery as a payload problem and a consistency problem at once. Solve both with one lookup: exact vehicles from VIN or spec, delivered as sized WebP from a CDN your list views will not feel.

Mini Cooper front left, in a mobile app
Mazda 3 front right, in a mobile app
Mini Cooper front left, in a mobile app

List views live and die on image weight

A vehicle list that ships full resolution photos is a scroll performance bug wearing a design decision. Request the width the card renders, in WebP, and the same list gets fast without a redesign.

  • Width, format and quality as request parameters
  • WebP with transparency for themed backgrounds
  • Consistent aspect ratios, so cells never jump

The integration, app team edition

Resolve server side, render client side, cache everywhere. The pattern is deliberately boring.

01
Resolve in your backend

VINs or specs resolve where your data lives, and the API key stays off the device.

02
Ship URLs to the client

Cards receive image URLs as plain strings, with srcset style variants from the width parameter.

03
Cache like an app

CDN headers do the network caching, your image pipeline does the on device layer, and lists scroll offline.

04
Handle the edges

Fixed ratio placeholders while loading, a branded fallback on misses, and the response tells you when a fallback model year was used.

Cards that line up by construction

Identical framing across every vehicle, which is what makes a list feel designed.

Mini Cooper, list card
Mini Cooper, list card
Mazda 3, same framing
Mazda 3, same framing
Honda Civic, same ratio
Honda Civic, same ratio
Seat Leon, same look
Seat Leon, same look
Honda Civic rear left, in a mobile app

Offline and low bandwidth are normal, not edge cases

Car apps get used on forecourts, in parking garages and on trains. Cacheable URLs with stable IDs mean your existing offline strategy covers vehicle imagery too, and a browsed list stays browsable in a dead zone.

  • Stable IDs make cache keys trivial
  • Sized variants keep the offline store small
  • Refresh on catalogue updates, not on every launch
Seat Leon IV rear right, in a mobile app

Transparent cutouts follow your app's theme

Dark mode, brand backgrounds and seasonal themes all want the car without its background. Transparent WebP over your surface colour means one asset serves every theme, and the design system stays in charge.

  • Transparent or shadowed variants per request
  • Same cutout works in light and dark mode
  • No baked in background fighting your palette

We cut list view payload dramatically just by requesting the width we render, and dark mode stopped being a special case the day we switched to transparent cutouts.

Lukas Brandt Mobile Lead, Vehicle marketplace app

What app teams ask

Native, React Native or Flutter?

All of them, because the deliverable is an image URL. Anything that renders images from URLs integrates identically, and the resolve step lives in your backend regardless of the client stack.

How do we handle different screen densities?

Request width variants through the width parameter and select per device, exactly like srcset on the web. Three sizes cover phones to tablets in practice.

Can we bundle images in the app for offline first?

Cache them through your normal pipeline with the stable ID as key. Bundling at build time works too for fixed fleets, and the licence covers stored copies.

What happens when a lookup fails mid scroll?

Design for it once: fixed ratio placeholder while loading, branded fallback on a miss, and log the identifier. The response also flags fallbacks like a substituted model year, so you decide what to show.

Does this add a runtime dependency on you?

Not if you cache. Resolve on catalogue updates, serve from your own storage or CDN, and the app never waits on our origin in the critical path.

Is there an SDK?

There is an npm package for JavaScript stacks, and the REST API is small enough that native teams typically wrap it in an afternoon. The docs include the full parameter reference.

Vehicle images for mobile apps, in practice

Vehicle imagery reaches app teams as someone else's decision: the listings exist, the photos are whatever they are, and the app must make them scroll smoothly on a three year old phone in a parking garage. Most of the resulting engineering effort goes into compensating for images that were never made for an app in the first place.

Payload is a product decision

The single biggest win is embarrassingly simple: request the size the card renders. A list view that ships 1200 pixel images into 300 pixel cells is spending the user's battery and patience on pixels nobody sees. With width and format as request parameters, right sizing becomes configuration, and the performance budget stops fighting the design.

Keep the dependency boring

Resolve server side on catalogue updates, cache in your own storage, and treat our CDN as the refill rather than the tap. The app's critical path then depends only on infrastructure you control, which is how an external image catalogue should feel: present everywhere, noticed nowhere.

Consistency is what makes lists feel native

Identical framing across every vehicle is invisible when present and glaring when absent. Fixed aspect ratios stop cells from jumping, uniform lighting keeps dark mode coherent, and transparent cutouts let the design system own every background. The list stops looking like aggregated content and starts looking like the app.

  • Sized WebP per screen, three variants cover the range
  • Stable IDs as cache keys for the offline layer
  • Transparent cutouts that follow the theme
  • Deliberate loading and fallback states

Make the list views light

Tell us your stack and see your own vehicles as sized, themed cards the same day.

Usually the same working day.

Try it in a test build

Send us a handful of VINs or specs from your data and tell us the card sizes you render. You get URLs ready to drop into a build.

  • Sized WebP variants for your exact cards
  • Transparent cutouts for theming
  • Trial covers a real test build
Thanks. We have your message and will come back with sized image URLs for your build.
Something went wrong. Please try again or write to info@vehicleimagery.com.