DEV Community

Cover image for I Created a Ride Fare Challenge… And a 2km Trip Cost ₹487 🚕😭
Md Mijanur Molla
Md Mijanur Molla

Posted on

I Created a Ride Fare Challenge… And a 2km Trip Cost ₹487 🚕😭

You open a cab app.

Destination:

2 km away.

Expected fare?

Maybe ₹70.

Actual fare?

₹487

At that point…

Walking starts looking premium. 😅

So I turned this into a coding challenge.

And yes…

This is a real system problem.


🚨 The Problem

Basic fare logic sounds easy:

  • Calculate distance fare
  • Add surge pricing
  • Add weather charges

Done.

Right?

Not really.


⚠️ What Goes Wrong?

In real ride apps:

• Demand spikes suddenly

• Driver supply drops

• Surge multipliers stack badly

• Weather fees pile up

And suddenly:

👉 A short ride costs like airport travel.

Users feel pricing is random.

Sometimes… it almost is.


🧠 What I Observed

When exploring this:

  • Basic solutions handled formula math
  • Many ignored pricing caps
  • Some missed fairness logic
  • Very few thought about trust in pricing

The code works.

But users feel robbed 😭


🔍 The Real Issue

This is not just fare calculation.

It’s about:

• Dynamic pricing

• Fairness

• Supply-demand modeling

• User trust

Because:

👉 Correct math can still produce terrible pricing.


💡 What Better Systems Need

A smarter fare engine should include:

  • Surge caps
  • Fairness constraints
  • Dynamic but bounded pricing
  • Transparency rules
  • Prediction smoothing

This ensures:

👉 Fewer pricing shocks

👉 Happier users

👉 Less rage-closing the app


🔥 Try My Challenge

I turned this into a challenge on VibeCode Arena.

👉 Try it here:
https://vibecodearena.ai/duel/bcde820c-cf40-432b-ae57-7df3b3d51d13

Can you:

  • Fix crazy surge pricing?
  • Prevent absurd fares?
  • Build a fairer pricing system?

🎯 Final Thought

Some algorithms optimize systems.

Some optimize users into walking.

This one…

👉 Might be doing both. 😭


Tell me honestly:

What’s worse?

Surge pricing…

or seeing fare increase while you're watching it? 👀

Top comments (0)