Project Description
Build a Short-Term Rental App (WEB + iOS + Android + Admin Dashboard) — MVP
Project Overview
We are looking for an experienced mobile app developer (or small team) to build the MVP
of a short-term rental marketplace app — targeting the local/regional market. The app will allow property hosts to list their spaces and guests to discover, book, and pay for short-term stays directly through the platform.
This is a startup MVP, so we need clean, scalable code and a working product — not a
prototype. We want someone who can take ownership, communicate clearly, and deliver
on time.
Platforms Required:
• iOS App (iPhone)
• Android App
• Web-based Admin Dashboard
Languages Supported: Arabic (RTL), , English (LTR) — full RTL/LTR layout
switching required Budget: $3000 – $5,000 USD (fixed price, milestone-based) Timeline: 8
weeks Project Type: Fixed Price | Milestone Payments
Who We Are Looking For
We need a developer or team with:
• Proven experience building marketplace or booking apps
• Strong portfolio with React Native or Flutter apps (cross-platform preferred)
• Experience with backend development (Node.js, Firebase, or similar)
• Demonstrated experience with RTL (Right-to-Left) UI layouts — Arabic
support is mandatory, not optional
• Experience with multi-language / i18n (internationalization) in mobile apps
• Familiarity with payment gateway and digital wallet integration
• Ability to build a web-based admin panel with RTL support
• Good English communication skills
• Ability to provide full source code upon project completion
• Previous booking app, or rental platform experience is a big plus
️ Core Features Required (MVP Scope)
Multilingual & RTL Support (Critical Requirement)
• Full support for 3 languages: Arabic, and English
• Complete RTL (Right-to-Left) layout for Arabic — all screens, icons,
navigation, and text alignment must mirror correctly
• LTR (Left-to-Right) layout for English
• Language switcher accessible from settings
• All UI components, forms, buttons, menus, and the admin dashboard must adapt
dynamically to the selected language direction
• Fonts must support Arabic scripts correctly
This is not just a translation task. The entire UI must be architecturally designed for RTL
from the start. Do not apply RTL as an afterthought.
Authentication & User Management
• Primary login method: Mobile phone number + WhatsApp OTP verification
o User enters their phone number → receives OTP via WhatsApp message →
verified and logged in
o This must work reliably on both iOS and Android
• Secondary login method: Gmail / Google Sign-In + password
• Separate roles: Guest and Host
• Profile creation with photo, bio, and identity verification status
• Password reset via email (for Gmail users)
• Session management with secure token handling
Property Listings (Host Side)
• Hosts can create, edit, and delete property listings (Listing requires a Moderator to approve it before it appears in listings )
• Upload multiple photos and YouTube link video per listing
• Add title, description, location (map pin), property type, amenities
• Set price per night, weekend price, set pre-defined cancelation policy,
minimum/maximum stay, availability calendar
• Mark listing as active or inactive
Search & Discovery (Guest Side)
• Search by location, check-in/check-out dates, number of guests
• Filter results by price range, property type, amenities, rating
• Map view and list view for browsing results
• Property detail page with photos, description, host info, reviews, and map
Booking System
• Real-time availability calendar
• Instant booking or request-to-book options
• Booking request flow with confirmation/rejection by host
• Booking summary page (dates, price breakdown, total)
• Booking history for both guests and hosts
Internal Wallet & Payment System
This is a core feature of the platform. Both guests and hosts must have an internal platform
wallet.
Internal Wallet (Guest & Host):
• Every user (guest and host) has a wallet balance inside the app
• Guests can deposit funds into their wallet via local digital payment gateways
• Guests pay for bookings directly from their wallet balance
• Hosts receive booking earnings into their wallet automatically after checkout
• Both guests and hosts can withdraw funds from their wallet to their local digital
wallet/bank (Withdrawals are Manual and approved and done by moderators and admins)
• Wallet transaction history (deposits, payments, earnings, withdrawals)
• Wallet balance always visible on the home screen/dashboard
Payment Gateway Integration (Local Digital Wallets):
• Integration with local digital payment gateways ( we will confirm which ones
during onboarding)
• The developer must have experience or be willing to integrate with local payment APIs
• Deposit flow: User selects gateway → redirected or enters wallet credentials → funds
added to internal wallet
• Withdrawal flow: User requests withdrawal → selects gateway → funds sent to their
local wallet account
• Admin can view all transactions and manually approve withdrawals if needed
Booking Payment Flow:
• Guest initiates booking → funds held/reserved from wallet balance
• Upon host confirmation → funds remain reserved until checkout
• After checkout → payment released to host's wallet (minus platform service fee)
• Cancellation policy: refund to guest wallet based on cancellation rules set per
listing
Platform Service Fee:
• Admin sets a configurable service fee percentage
• Fee automatically deducted from each transaction and credited to platform
account
Reviews & Ratings
• Guests can review hosts and properties after checkout
• Hosts can review guests
• Star rating system (1–5) with written comments
• Average rating displayed on listing and profile
In-App Messaging
• Real-time chat between host and guest per booking only after initial reservation is
accepted by the host
• Message notifications (push notifications)
• Message history stored per booking
Notifications
• Push notifications for booking requests, confirmations, messages
• Email notifications for key actions (booking confirmed, payment received)
️ Maps & Location
• Google Maps integration for property location display
• Location-based search
• Nearby properties on map
️ Admin Dashboard (Web-Based)
The admin panel should allow us to manage the platform with the following features:
• User Management — view, suspend, or delete guest/host accounts
• Listing Management — approve, reject, or remove property listings
• Booking Overview — view all bookings, statuses, and revenue
• Wallet & Transaction Management — view all internal wallet balances, deposits,
withdrawals, and platform fee earnings; manually approve or reject withdrawal
requests
• Payment Gateway Monitoring — track gateway transactions and statuses
• Reviews Moderation — flag or remove inappropriate reviews
• Analytics Dashboard — total users, total bookings, revenue charts, wallet volume
• Service Fee Configuration — set and update platform commission percentage
• Push Notification Sender — send announcements to all users or segments
• Language/Content Management — manage Arabic, Kurdish, and English text for key
UI strings
• Support Ticket View — basic contact/support form submissions
• Sub admin and permissions for accountants, moderator or support account
• Admin has access to read conversation between host and Guest
• Promotion discount Code
Required Tech Stack
We are open to discussion, but prefer the following:
Layer Preferred Technologies
Mobile App React Native or Flutter (must support RTL natively)
Internationalization i18n / react-i18next / Flutter Intl — Arabic, Kurdish, English
Backend/API Node.js (Express) or Firebase
Database PostgreSQL, MongoDB, or Firebase Firestore
Authentication Firebase Auth (Phone/WhatsApp OTP) + Google Sign-In
WhatsApp OTP Twilio WhatsApp API, 360dialog, or WhatsApp Business API
Internal Wallet Custom wallet logic on backend with transaction ledger
Payment Gateways Local gateways:
Push Notifications Firebase Cloud Messaging (FCM)
File/Image Storage AWS S3, Firebase Storage, or Cloudinary
Admin Dashboard React.js or Next.js with RTL support (e.g., using MUI RTL or Ant
Design RTL)
Hosting AWS, Google Cloud, or DigitalOcean