You all know that I was building a car classified Script which I have posted on my previous post. I’ve always been fascinated by how online marketplaces scale so fast. When it comes to used car marketplaces, countries like the UAE are particularly interesting—lots of expats, frequent car sales, and platforms like Dubizzle dominating the space.
So, I tried something different: building a UAE-specific used car classified website using a pre-built car classified script—and then hacking it for real-world development needs.
Tech Stack I Worked With
• Base Script: PHP + MySQL+ Codeignitor based Classified Script
• Frontend: Bootstrap (with custom Tailwind tweaks)
• Server: Linux, Ubuntu, Apache
• Database: MySQL
Why this combo? Because the script gave me a working foundation (user auth, ad posting, moderation), and I wanted to spend my time on custom features instead of boilerplate CRUD.
The Core Features Out of the Box
The script already came with:
• User login + registration
• Car listing fields (make, model, year, mileage, fuel type, transmission)
• Search + filter
• Admin dashboard for approvals
• Multi-image upload
That’s 60–70% of the work done. But a UAE-focused marketplace has unique requirements.
Custom Development for UAE Market
- Currency & Localization In the UAE, everything revolves around AED. The script supported USD, so I hacked in AED like this: ALTER TABLE listings MODIFY COLUMN price DECIMAL(12,2) NOT NULL DEFAULT 0;
UPDATE settings
SET currency = 'AED';
Then, updated the PHP config to show د.إ instead of $.
Also added Arabic translations:
$lang['en'] = "Mileage";
$lang['ar'] = "عدد الكيلومترات";
Integrated Laravel’s Lang::get() style fallback for cleaner i18n handling.
- City-Based Search Filters Dubai ≠ Abu Dhabi ≠ Sharjah. Buyers care about location first. So I extended the listings table: ALTER TABLE listings ADD COLUMN city VARCHAR(100) AFTER price; Then added a dropdown filter with city pre-sets: Dubai Abu Dhabi Sharjah Now, users can filter cars city-wise, which makes it hyper-local.
- AI Car Price Estimator (Optional but Fun) I built a Node.js microservice to estimate car prices using historical data. // car-price-estimator.js const express = require("express"); const app = express();
app.get("/estimate", (req, res) => {
const { year, mileage } = req.query;
let basePrice = 100000; // example
let depreciation = (2025 - year) * 0.08 * basePrice;
let mileageFactor = mileage * 0.05;
res.json({ price: basePrice - depreciation - mileageFactor });
});
app.listen(4000, () => console.log("Estimator running on port 4000"));
Connected it to the PHP listing form via API call to auto-suggest a fair price.
- WhatsApp Lead Integration In the UAE, WhatsApp is more popular than email. So instead of “Contact Seller” via form, I integrated a WhatsApp chat button: Chat on WhatsApp Instant communication = higher conversions.
Architecture Diagram
[Users]
|
[Frontend]
|
PHP Classified Script
|
MySQL DB ---- Node.js Price API
|
[Admin Dashboard]
Lessons Learned
- Scripts save time – 70% of the marketplace backbone was ready.
- Localization is king – Currency, language, and city filters made it “feel local.”
- Custom dev is where value lies –WhatsApp integration = features that make users stay.
- Market-first, code-second – The script is just a tool; adapting to UAE’s buying habits is what made the platform relevant.
Why This Matters to Devs
As devs, we often think: “I’ll build it from scratch.” But sometimes, speed + customization beats purity. Using a script gave me a head start, and the real fun was in extending it with real-world features.
What About You
If you were building a marketplace for your country, would you:
• Start from scratch?
• Or hack a classified script to save months of dev time?
I’d love to hear how you’d approach it.
Top comments (0)