Back to projects

Rides and delivery - Project

One Rides

Rides and deliveries: end-to-end features across Android, iOS, backend and web.

Role
Full stack developer: mobile, web and backend
Duration
2 months
Vista previa del proyecto One Rides

The mission

One Rides is a ride-hailing and delivery platform operating in Venezuela, with native apps for passengers and drivers, a Node backend and seven web panels. Two fellow developers and I took them on as clients to maintain and grow that system: twelve repositories in production, four platforms moving in parallel.

The challenge

A demanding project and a system with many moving parts: one backend, seven web panels and four native applications.

Every new feature has to be configurable from the different panels, complete in the interface, and backed by the business logic on the server side. Here, constantly monitoring the four applications is the rule, so any problem gets spotted and solved early.

Stack

The tools the project was built with.

  • TypeScript
  • Node.js
  • Git
  • Kotlin
  • Swift
  • Angular
  • MongoDB
  • Redis
  • Socket.IO
  • ClickUp
Type
Rides and delivery - Project
Role
Full stack developer: mobile, web and backend
Period
Jun 2026 — Present
Team
Three developers across backend, native apps and panels

What I did

My most relevant contributions, grouped by goal.

Payments and wallet

  • Integrating instant bank transfer payments (Pago Móvil, Venezuela's instant payment system): automatic confirmation by webhook, top-up approvals and claims by reference number.
  • A directory of linked payment numbers, with OTP verification and rejection of numbers already in use on another account.
  • Amount entry in the style of Venezuelan banking, right to left, mirrored across Android, iOS and the web panel.

Stability in production

  • Diagnosing and fixing the driver app crashing when a ride came in with the screen locked.
  • Fixing the chat socket handling so the conversation closes when a ride is cancelled or reassigned, and the new driver never sees what was said to the previous one.
  • Fixing the iOS launch loop with an expired session, which left the app stuck on the loading screen and never getting past it.

Dispatch integrity

  • Hardening the app against autoclickers, with detection on the phone itself, validation on the server and a change in the UI.
  • An exclusive assignment window for favourite drivers, configurable from the backend.
  • Driver blocking from the passenger app, connected across the API, the admin panel and all four apps, so a blocked driver never receives that passenger's rides again.

Cross-platform and tooling

  • Building multiple new features and improvements across the different platforms, each in its own technology.
  • An isolated local environment and a QA deployment, both documented so the rest of the team can repeat them.
  • Technical documentation for every feature and task tracking in ClickUp.

Impact

Numbers I left behind on this project.

Project results

12repos in parallel

  • Driver app crashes addressed5100
  • Commits in two months of work0174
  • Platforms maintained in parallel0004
  • Releases published to the stores0003
Ride request screen in the passenger app

Ride request in the passenger app

Ride request in the passenger app
Mobile payment flow validating the bank reference

Validating the mobile payment

Validating the mobile payment

What I take with me

Tap a note to read it in full.

Autoclickers

Some drivers were using autoclickers to hoard rides. The fix was split across fronts: accepting is now a swipe, which rules out the most common trick, and the server rejects automated acceptances on top of that.

A test environment

When I joined, every test was run straight in production. After a lot of explaining, we convinced the client to set up a test environment: no user runs into a $0.01 ride any more.

Favourites first

The app let you mark drivers as favourites, but it changed nothing. Now favourites get an exclusive time window before the rest.

Nobody loses money

Cancelling a ride used to leave money stranded. Now everything owed comes back, the penalty is covered with what was already paid, and the app says the rest returns to the wallet.

Got a good opportunity in mind?

I'm open to new challenges as a Frontend Developer on remote teams. If you think I'd fit what you're building, let's talk.

Reach me on LinkedIn

Let's talk

It lands straight in my inbox.