Flashoot Application
Applications

Flashoot Application

50K+Downloads
25K+Monthly Active Users
iOSPlatform
AndroidPlatform

About Flashoot Application

Flashoot is your on-demand photography booking platform that connects customers with verified photographers in just a few taps.

Built entirely using Flutter (Frontend) and Firebase (Backend), Flashoot is designed to make booking professional photography as easy as ordering food online.

  • 🎂 Birthday shoots
  • 💍 Pre-wedding shoots
  • 🏢 Corporate events
  • 📷 Product photography

Vision: To make professional photography accessible, fast, and affordable — while empowering local photographers with consistent, structured work.

How It Works

User Flow (Customer Side)

Package Selection

User selects a photography package (event type, duration, pricing). Packages are fetched from Firebase Firestore in real time with dynamic pricing logic for base price, add-ons, GST calculation, and location-based adjustments.

Flutter UIRiverpod (State Management)Firestore (Real-time database)

Order Creation & WhatsApp Flow

Flashoot supports order creation via WhatsApp (Exotel WhatsApp Business API). User selects package, system calculates total with GST, a Razorpay payment link is generated, and after payment webhook confirms the transaction, the order is created and a photographer is assigned.

Exotel WhatsApp APIRazorpay Payment GatewayFirebase Cloud FunctionsFirestore transaction-safe order creation

Payment System

Secure Payment & Webhook Verification

Payment link is generated via Razorpay API. Webhook verifies payment status and signature validation. Only after successful verification does the order become Confirmed and partner assignment logic runs. All GST and price calculation happens server-side with no trust on frontend payment status.

Razorpay APIFirebase Cloud Functions (webhook)Server-side GST calculation

Partner Assignment Engine

Automated Partner Matching

Once payment is confirmed, the system checks location availability, partner availability, partner rating, and active status. Matching logic runs in the backend, the nearest available partner is assigned, and they get a push notification instantly.

Firestore composite indexesGeo-based filteringFirebase Cloud Messaging (FCM)

Admin & Partner Modules

Multi-Module Architecture

Customer App (browse packages, track bookings, make payments) · Partner App (accept/reject orders, view earnings, upload deliverables) · Admin Panel built on Flutter Web (CRUD for packages, order monitoring, partner management, analytics dashboard).

Flutter WebFirebase Auth (Role-based access)Firestore security rules

Real-Time Architecture

Event-Driven Stack

Flutter App → Firebase Auth → Cloud Functions (Business Logic) → Firestore Database → FCM Notifications. Everything is event-driven and real-time, ensuring instant updates across all modules.

FlutterFirebase AuthCloud FunctionsFirestoreFCM

Technologies

Flutter
Dart
iOS
Android
Node.js
TypeScript
AWS
Lambda
PostgreSQL
GitHub Actions

Project Screenshots

Flashoot Application screenshot 1
Flashoot Application screenshot 2