Self-service external battery rental, from the station to the console
A rental runs, breaks down, then resumes.
Project at a glance
- The need
- Rent external batteries with nobody at the counter, with a network of stations the operator runs remotely, including when something breaks down.
- My contribution
- Designed and built all of it: customer journey, payment, operations console, server, tests and failure run.
What was built
- Customer journey on the phone
- Payment by card imprint
- Operations console
- Failure run on a server
Project in progress, brand to come. Proven on a test server with simulated stations and payment; no real station is connected and no real payment has been taken. Test delivery planned for 30 November 2026.
- Nature
- Web rental service: customer site, operations console and server
- Period
- Since October 2026
- Client
- Projet en cours, marque à venirProject in progress, brand to come
The need
Lend an external battery with nobody at the counter: a station hands it out, the customer brings it back, payment is settled by card imprint. The operator has to see the network at a glance and act remotely, including when something breaks down.
What the project contains
- A customer journey on the phone: the customer scans a code or taps their phone, then follows the rental.
- Payment by card imprint, linked to a payment provider.
- An operations console: the state of each station, rentals in progress, remote actions.
- A server that holds the rentals and talks to the stations, with notifications.
- Code split into separate packages: shared contracts, business core, database, payments, hardware, notifications.
Proven by failures
On 29 October 2026, a complete acceptance run was played on a private server: the customer journey end to end, the console actions, five induced failures, then restoring a backup and resuming the rentals in progress. During the failure run, 25 rentals went through to closing. The stations and the payment provider were simulated.
Evidence
Every figure carries its source. No commercial result is claimed.
292
Commits between 19 October and 3 November 2026
SourceThe project repository history
200
Automated test files, approximately
SourceThe project repository, counted on 3 November 2026
5
Induced failures during the acceptance run, payment and stations simulated
SourceAcceptance run report of 29 October 2026
25
Rentals taken through to closing during the failure run
SourceAcceptance run report of 29 October 2026
What is not done or claimed
- No real station is connected: the hardware and its protocol are awaited. The next slice makes the hardware acknowledgement durable.
- Payment is simulated: no real payment has been taken.
- The design is being overhauled: the visual direction is chosen and the component base laid. A test delivery is planned for 30 November 2026.
- The current name is provisional. The brand will be chosen after a prior-rights search, and no screenshot or address is published until then.
- No usage figure, no customer, no commercial result.
Technical details
The technologies used for this project. Features and their limits are detailed in the narrative.
- TypeScript
- Next.js
- Fastify
- PostgreSQL
- Drizzle
- Playwright
- Docker
Expertise involved
A similar need?
Let's discuss your context and what you would like to simplify.