Projects delivered, and live.

Every project follows the same plan: the problem to start with, what I delivered, what it changed day to day. No retouched screenshots — the sites are public, go and look.

01 Vehicle rental · Réunion Island

Loc A Li

The starting point

No website: a Facebook page. And behind it, Google Sheets — one for the fleet, one for the bookings, one for the calendar, one for the servicing. Nothing was joined up: to find out whether a vehicle was free, you had to open two files and cross-check by hand. Quotes and invoices were still done elsewhere, in a third tool.

What I delivered

A showcase website whose fleet is the admin area's own — the manager adds a vehicle and it appears online — with a contact form. And a bespoke admin area replacing the four spreadsheets and the invoicing tool: everything is linked, you move from a booking to the client record, from the client record to the vehicle, from the vehicle to its servicing history.

  • Bookings, client records and vehicles linked to one another
  • Booking calendar and configurable rental options
  • Tomorrow at a glance: vehicles to hand over, returns to expect
  • Servicing history, vehicle by vehicle
  • Quotes and invoices produced from the booking, with no re-entry
  • The showcase fleet driven from the admin area

What it changed

The spreadsheets are gone, and with them the cross-checking by hand. The time saved is where it counts: preparing tomorrow, finding a client's history, getting a quote out. One tool, one entry.

The admin area data blurred

Dashboard

Admin area dashboard: total vehicles, available, on hire, occupancy rate, current bookings and monthly revenue
The dashboard: the state of the fleet, today's returns and the unpaid balance, at a glance.

Bookings

Booking calendar, one column per vehicle, month by month
Calendar: one column per vehicle, which makes overlaps impossible.

Vehicles

List of the fleet's vehicles with year, mileage, daily rate and rental status
The fleet: rates, availability and publishing are all set here.

02 Running club · Neuchâtel

NFS Neuchâtel

The starting point

The club existed online only on social media. A runner discovering the group found neither the meeting point, nor the time, nor the expected level. And there was nowhere for the members.

What I delivered

A public site in three languages, presenting the event and how it is run. Behind it, a members' area by invitation: without a code generated by an administrator, no account. It is not just a closed door — it is what makes the group, and it will host features built to pull each other upwards. Plus an admin area from which everything is driven, with no technical skill needed.

  • French, German, English — one content, three aligned versions
  • Members' area by invitation, reserved for the club's runners
  • Admin area: sessions, invitation codes, members
  • Features to make progress together, being added

What it changed

The club has an address of its own: a showcase explaining the event and how it is run, in three languages. And behind it, an area reserved for members — a place that is theirs, and a sense of belonging that now exists online too.

The site and its admin area members blurred

nfsneuchatel.ch

Home page of the NFS Neuchâtel site: neon logo, presentation of the event and access to the members' area
The showcase: the event, the weekly meet-up, and the door to the members' area.

Sign in

Sign-in screen for the members' area, with a link to join the club using an invitation code
"Join with a code": the only way into the members' area.

Admin area

Admin area, list of members with their role, their status and their last sign-in
Admin area: members, roles, invitation codes and sessions.

And yours?

The next project could be yours.

Tell me about your day in a few lines. I will say honestly whether I bring anything — and if I do, you see a clickable mock-up before signing anything.

Tell me about your project See the services

No-strings conversation · Free quote · Reply within 48 h