Current role · Full-time

V-LOC.

Independently building V-LOC’s entire technical ecosystem, a SaaS platform for licence-free electric vehicle rental: five applications, 415 vehicles, 8 branches. A full-time role, separate from my freelance work.

Brief at a glance
PeriodSince Sept 2025
ArrangementCurrent full-time role
TypeSaaS ecosystem · vehicle rental
StackNestJS · Laravel · React · Expo
StatusCurrent
Screenshot · v-loc ecosystem
The context

An ecosystem for 415 vehicles.

V-LOC runs a SaaS platform for licence-free electric vehicle rental: a fleet of 415 vehicles spread across 8 branches. Behind the service sits a complete technical ecosystem, not a single application, but five surfaces sharing the same foundation, which I build independently.

The ecosystem

One ecosystem, five surfaces.

The centralized API,the back-end foundation of the whole ecosystem, built with NestJS and TypeORM on MySQL, with legacy services in Laravel 11. It is what unifies web, mobile and the backoffice.

The backoffice,the internal tool, built with React and Vite, used to manage the 415-vehicle fleet, the 8 branches and the bookings.

The booking site,the web journey customers go through to book their vehicle, built with React, Vite and Tailwind.

The customer mobile app,built with React Native (Expo, expo-router) and Nativewind, giving customers more autonomy.

The delivery-driver mobile app,also React Native (Expo) with Nativewind, designed to make drivers more efficient in the field.

Around these five surfaces, a shared foundation: unified tooling (oxlint, Vitest, Prettier) and Docusaurus technical documentation, to make evolution and onboarding easier.

The challenges

Five surfaces, one single truth.

Multi-surface consistency,five applications resting on the same foundation: any divergence between web, mobile and the backoffice costs clarity, for customers and teams alike. The whole point of a centralized API is to serve every surface without letting them tell different stories.

Scale across branches,415 vehicles spread over 8 branches: the state of the fleet, availability and bookings included, has to stay consistent and up to date across every surface that reads or updates it.

Two opposite mobile audiences,the customer app is about autonomy for the general public (booking, managing a rental), the driver app is about operational efficiency in the field. Two very different usages served from the same back-end, without sacrificing either.

A demanding domain,licence-free electric vehicle rental mixes online booking, physical branches and field operations: the software has to reflect a reality that keeps moving off-screen.

What I built

Business modules, end to end.

Payments & collections,automated billing and recovery flows, designed to make payments reliable and secure revenue.

Stock & maintenance,real-time fleet stock and maintenance tracking, consistent from the API to the backoffice and the mobile apps.

Customer journey & contracts,features that give customers more autonomy over their bookings and contracts, from web to mobile.

Conversion & experience,an optimized booking funnel and a polished experience, consistent across every surface.

Tech stack.

Back-end
NestJS · Laravel
Web front-end
React
Mobile
Expo
Styling
Tailwind · Nativewind
Language
TypeScript
Data
TypeORM · MySQL

A project
to build?

If you have a similar project in mind, let’s talk.

Direct booking
FormatDiscovery call
Duration30 minutes
Response< 24h
CommitmentNone
Book my slot →
[email protected]Toulouse, FR
© 2026 Noah Vernhet. All rights reserved.Designed & built in Toulouse