← Apps

Bateria Própria Z

Bateria Própria Z

Many Renault Zoes were sold with the battery on a separate lease. Buy one second-hand and the monthly payment can come with it — usually discovered too late. This app gives buyers an answer in seconds, from the VIN or the licence plate.

The Bateria Própria Z home screen, with the field for entering a Renault Zoe VIN and the remaining free-check counter.Result screen: battery potentially leased, 92% prediction confidence, alongside the vehicle model and battery capacity.Pass screen: unlimited checks with a 7-day or 30-day pass, paid once, with no subscriptions.

The problem

For years Renault sold the Zoe with the battery decoupled from the car: you bought the vehicle and rented the battery for a monthly fee. It brought the entry price of an EV down. The trouble shows up on the used market a couple of owners later — the battery contract is still attached to the vehicle, and the seller often doesn’t know, or doesn’t say.

The buyer gets what looks like a bargain and finds the monthly payment afterwards.

What the app does

  1. The buyer enters the VIN or the licence plate of the Zoe they’re looking at.
  2. The backend resolves and looks up the available data for that vehicle.
  3. The app returns an estimate — battery potentially owned, potentially leased, or inconclusive — with a confidence level and whatever vehicle data came back: model, registration year, battery capacity.

Notes on the build

The interesting parts were not on the UI side.

Quota that survives a reinstall. The free tier is metered per device with no account involved. App Set ID resets when the user uninstalls every app from the developer — which, for a single-app developer, means every reinstall. Android ID is checked first, and identifiers are salted and hashed before they are stored, so the server never holds a raw device id.

Purchases verified server-side. The passes are consumable products, verified against the Play Developer API and kept in sync through Real-time Developer Notifications rather than trusted from the client.

Privacy by design on plate lookups. When a query starts from a licence plate, the resolved VIN is held in memory only and is never returned to the client or logged against the query.

Availability

Live on Google Play, in Portuguese, for the Portuguese market. Two free checks, then a 7-day or 30-day pass — one-off purchases, no subscriptions.

Frequently asked questions

Is this an official Renault app?

No. It is an independent tool with no connection to Renault. It is meant for a first assessment before committing to a purchase.

Does it give a definitive answer?

No. The result is an estimate with a confidence level attached. Before buying, always confirm with the manufacturer, the entity responsible for the battery lease or financing, and the vehicle's official paperwork.

Does it need the VIN, or is the licence plate enough?

Either works. If only the plate is available, the app attempts to resolve the VIN from it.

How is it monetised?

Two free checks, then a 7-day or 30-day pass with unlimited checks. One-off payments, no subscriptions — the pass simply expires.

Does the app collect personal data?

There is no account and no login, no ads and no third-party analytics. Device identifiers are salted and hashed server-side and used only to meter the free tier.

How it's built

  • Kotlin 2.0 · Jetpack Compose · Material 3
  • MVVM + Repository, single-activity, Navigation Compose
  • Hilt for DI, Retrofit + OkHttp + kotlinx.serialization
  • DataStore Preferences for local quota and pass state
  • Google Play Billing 8 — consumable time passes, no subscriptions
  • Node.js + Express + SQLite API, behind Caddy, managed with PM2
  • Server-side purchase verification via the Play Developer API and RTDN
  • minSdk 24 · targetSdk 36

Check whether a used Renault Zoe battery is owned or leased

Get it on Google Play