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.
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.
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.
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.