Build a Dating App (Flutter Android + iOS) with Web Admin Panel & Recommendation Engine (MySQL backend)

Job ID: 39707543

Budget: ₹12,500 – ₹37,500 INR

We are seeking an experienced freelancer or small team to build a Dating App for Android & iOS (using Flutter) along with a Web Admin Panel and a MySQL backend.

The app should include all essential features of popular dating apps (profile, swipes, chat, subscriptions) with a basic recommendation engine for partner matching. The focus is on cost-efficient, reliable solutions (no costly AWS/Azure/Google services).

1. Tech Stack (Budget-Friendly)

Frontend (Mobile): Flutter (Dart).

Backend API: Node.js (Express/NestJS) or Python (Django/FastAPI).

Database: MySQL (self-hosted VPS).

Admin Panel (Web): React.js / Vue.js (open to suggestion).

Hosting/Infra: Affordable VPS/cloud (e.g., DigitalOcean, Linode, Vultr, Hetzner, Hostinger VPS).

File/Media Storage: Store directly on VPS with Nginx/Apache serving images (or any cheap object storage like Backblaze B2/Wasabi if needed).

Chat/Real-time: WebSockets (Socket.IO or open-source).

Push Notifications: Firebase Cloud Messaging (free).

SMS/OTP: Budget-friendly SMS gateways (MSG91, Textlocal, or other local providers).

2. Core Features (Mobile App – Flutter)
User Onboarding & Profiles

Phone/email sign-up + OTP verification.

Social logins (Google, Apple, Facebook).

User profile: bio, photos, interests, profession, education, etc.

Upload multiple profile photos (stored in VPS).

Privacy options (hide/show profile info).

Discovery & Matching

Swipe-based matching (like, super-like, pass).

Filters: age, distance, interests.

Recommendation Engine:

Rule-based (proximity, interests, activity).

Daily/weekly suggestions.

Chat & Communication

Chat opens after a match.

Real-time messaging with text, emojis, and image support.

Online status & read receipts.

Push notifications for matches & messages.

Safety & Controls

Block/report users.

Profile/photo verification option (manual approval by Admin).

User can delete/deactivate account.

Monetization (Basic)

Free users: limited likes/day.

Premium: unlimited likes, see who liked you, priority matches.

Subscriptions via Google Play / App Store in-app purchases.

3. Admin Panel (Web)

Dashboard: User stats, matches, engagement.

User Management: View, edit, ban/unban users, verify photos.

Content Moderation: Handle reports, flagged users.

Recommendation Settings: Adjust filters/weights for suggestions.

Revenue Management: Track subscriptions, payments.

CMS: Manage FAQs, privacy policy, app banners.

4. Backend (MySQL + API)

Normalized database schema: users, profiles, matches, messages, reports, subscriptions.

REST API: For Flutter & Admin Panel integration.

Real-time chat service: WebSocket-based, lightweight.

Geo-location filter: Use MySQL Haversine formula (no expensive APIs).

Image serving: Simple VPS file storage with compressed images.

Security: JWT auth, password hashing, input validation.

5. Non-Functional Requirements

Cost-efficient hosting (target: under $25–30/month).

Scalable to 20–50k users with simple VPS upgrades.

Code well-documented, clean, and modular.

Basic test coverage & bug fixes guarantee.

Deployment guide (so I can manage VPS myself).

6. Deliverables

Flutter apps (Android & iOS) + build setup.

Web Admin Panel.

Backend + MySQL schema with seed data.

Documentation (setup + deployment).

Handover & 30–60 days post-launch bug support.

7. What to Include in Your Proposal

Similar apps/projects you’ve built.

Tech stack preference (Node.js/Django).

Timeline with milestones.

Fixed cost estimate + post-launch support rate.

Any extra budget tools (if required).
Related categories: Python MySQL Dart Node.js React.js Web Development Flutter REST API