Sabira.id: Rebuilding a Classified Ads Platform from WordPress
ChallengeAn outdated WordPress for 20 thousand ads that keep growing
Sabira.id is a classified ads platform with an active community — still running on WordPress with performance limits, manual moderation, and rigid monetization. What was needed was a modern rebuild without leaving anything behind: 372 users, 20,582 ads, 597 blog articles, and 27GB of images had to move intact — including legacy user logins and URLs already indexed by Google — plus a mobile app for the buy-and-sell experience on phones. All of it was delivered in stages over ±2 months: design, web rebuild + data migration, then the mobile app.
SolutionA web + mobile monorepo with intact migration, AI moderation, and monetization
Modern Monorepo Rebuild
SvelteKit (SSR) + NestJS REST API + PostgreSQL with Indonesian full-text search. The browser never touches the database directly — everything goes through a BFF pattern.
Intact WordPress Migration
372 users, 20,582 ads, 597 articles, and 692 thousand image files (27GB) moved to PostgreSQL + object storage. Legacy logins (phpass) were automatically converted to bcrypt, and 606 old URLs were redirected with 301 so SEO was preserved.
AI Moderation & Anti-Abuse
Automated moderation pipeline: rules engine + AI scoring of text & images — auto-publish, auto-reject, or manual queue. Cross-account duplicate detection and automatic bans after repeated rejections.
Credit Monetization & IAP
Ad credit packages with bank-transfer payments whose proof is AI-reviewed, scheduled Highlight & Urgent promos, and a complete credit ledger — automatic refunds when an ad is rejected. In the app, credits are purchased via In-App Purchase (App Store & Google Play) with server-side verification and automatic refund handling.
Flutter Mobile App
An Android & iOS app from a single codebase: browse ads, post ads, chat, favorites, and in-app credit purchases — Google login & Apple Sign-In, deep links to sabira.id, push notifications (Android, iOS & web), and single-use session links from the app to the web.
Chat & WhatsApp Verification
Buyer–seller chat on web and mobile with unread badges, plus phone verification via reverse WhatsApp OTP — no SMS costs, and verified numbers become a seller badge.
App Store & Play Compliance
App store release requirements met: self-service account deletion with email confirmation + grace period, user reporting of ads (UGC) with a moderation queue, and a privacy policy — passed Apple & Google review.
Seller Store & Contact Preferences
A public store page per seller (/toko/username) and contact preferences the seller can choose — Sabira Chat, WhatsApp, phone, or website — displayed consistently on web and app.
Content & Affiliate Automation
Daily AI auto-blogging (topic → article → cover) keeps the blog fresh for SEO, plus an affiliate pipeline that rewrites Tokopedia products with AI and publishes them as ads — AI moderation still applies.
