Contents
Key takeaways
- Free classified ads between individuals in 14 West and Central African countries.
- Assisted posting: AI suggests category, title, condition and description from the photos.
- Messaging without sharing a phone number, with masked numbers, link warnings and contact limited to the same country.
- Automatic moderation of photos and text with Gemini, with a review queue for the team.
- Boosts and a Pro plan payable on the web, the App Store, Google Play and with Wave.
Lendroit is a classified ads platform for West and Central Africa. Users pick their country, then buy, sell or swap near home: vehicles, real estate, electronics, fashion, jobs, services, agriculture, pets and many other categories. I designed and built the project from concept to production: the website, the iOS / Android mobile app, the API and the admin.
The product in a few lines
Lendroit is free between individuals. The platform never takes money on the sale of an item: it earns from seller options, such as promoting a listing or the Pro subscription. It is open in 14 countries: Côte d'Ivoire, Senegal, Cameroon, Benin, Togo, Mali, Burkina Faso, Guinea, Niger, Gabon, Congo, DR Congo, Chad and the Central African Republic.
- Buyers: search by country and city, more than 15 categories with sub-categories and filters, favourites, video Clips, messaging with the seller.
- Sellers: assisted listing creation, dashboard (views, contacts, most viewed listings), public shop, paid promotion, badges.
- Pro sellers: detailed per-listing statistics, reply templates, a customised shop and included promotion credits.
- Admin: dashboard, moderation, reports, revenues, support messages.

Posting a listing starting from a photo
Posting a listing is where classified sites lose the most users. Lendroit shortens it with AI: the seller adds photos, and the Gemini model analyses them together to suggest the category, sub-category, a title, the item's condition and a description. The instruction is strict: describe only what is visible, never invent a brand or model, no price or contact details in the text. The seller reviews, edits and publishes.
- Add photos (and videos if needed).
- Details: title, category, condition, location and category-specific attributes, then the description.
- Publication, with a watermark applied to the photos.
- The listing goes live for a limited time, renewable by the seller, and goes through the automatic moderation scan.
Each listing can also become a Clip: a short vertical video generated on the server from its photos and videos (up to 8 media), with the title and price overlaid. The video is built once and reused as long as the listing does not change.

Messaging that protects both sides
On a classified ads site, messaging is where sales happen, and also scams. Lendroit's inbox lets buyers contact a seller without sharing a phone number, and adds several safeguards:
- Phone numbers masked in public texts, including numbers disguised with letters or spaces, without wrongly masking an IP address or a technical frequency.
- Warning notice when a message contains a phone number or a link to an external site.
- Revealing the seller's number is possible, but the number of requests is limited.
- Same country required: a buyer can only contact a seller from their own country, for a listing in that country.
- Blocking a user or a shop, and reporting.
Features include photo and PDF attachments, message reactions, read status and link previews. New messages arrive without reloading the page: the open conversation is checked every 4 seconds, the conversation list every 10 seconds, and everything stops when the tab is no longer visible, so no data is wasted. In the app, the conversation refreshes every 10 seconds and push notifications take over. These notifications go through a delivery queue with retries on failure.



Automatic moderation
A platform open to everyone also receives prohibited listings. Every listing goes through a moderation scan: photos and text are analysed by Gemini, with a more powerful model as backup when the first one hesitates. Two thresholds separate normal listings, suspicious listings sent to the team, and blocked listings. The seller is notified when a listing is blocked or restored.
The difficulty is avoiding false positives: an item that looks like something prohibited is not prohibited. The code distinguishes mere resemblance from real evidence, and only blocks automatically when the evidence is established. The rest goes to the admin, which has a queue of suspicious images, reports, decision history and a scan log.
Monetisation: boosts, Pro and mobile money
Revenue comes from two options: the boost, which features a listing for a day, a week or a month, and the Lendroit Pro subscription. Payment had to work everywhere: on the web, on the App Store, on Google Play, and with mobile money.
- Subscription and boosts managed with RevenueCat, which brings together web purchases (cards processed by Stripe) and store purchases under one customer ID.
- Wave payment on the web for boosts and Pro.
- Two 24-hour boost credits granted for each paid Pro month, only after a confirmed payment. A refund removes the matching credits, and each debit is locked to prevent double use.
- Automated test scenarios, including simultaneous requests, validate these rules.

Keeping sellers engaged
- Shops: a public page with cover, avatar, social links, opening hours and listings.
- Seller badges (verified, bronze, silver, gold and others) computed from activity and messaging responsiveness.
- Tokens given at sign-up and for each published listing, credited after 72 hours and cancelled if the listing is deleted.
- Friend invitations with a referral link.
- Up to 30 reply templates for Pro sellers.
Under the hood
The website is written in PHP with MySQL. Sign-in goes through Firebase Authentication, with Google or a code received by SMS, with no password. The server verifies the Firebase token, then opens its own session. The mobile app is built with Expo and React Native, with native Firebase and RevenueCat for in-app purchases. The website and the app are available in French and English, with numbers, dates and currencies formatted for the language.
Security relies on several layers: reCAPTCHA, bot filtering, rate limits on sensitive actions and CSRF protection. In the admin, each administrator can be restricted to specific countries.
What this project shows
Lendroit combines the most delicate topics of a consumer marketplace: fast posting, safe messaging, AI moderation, payments across three channels and multiple countries. The website is live at lendroit.co, and everything was designed and built by one person, from concept to production.
Do you have a classified ads, marketplace or messaging app project? Get in touch to talk about it. You can also see all the screenshots of the project.
Frequently asked questions
Can buyers contact a seller without getting their phone number?
Yes. On Lendroit, buyers and sellers talk in a built-in inbox. Phone numbers written in public texts are masked, and a warning appears when a message contains a number or an external link.
Can AI moderate marketplace listings?
Yes, with safeguards. Lendroit analyses photos and text with Gemini, blocks only when the evidence is established and sends doubtful cases to the team, which keeps the final decision.
How do you sell a subscription on both the web and the app stores?
Lendroit uses RevenueCat to bring web, App Store and Google Play purchases together under one customer account, plus Wave payment on the web.