React App — API Integration & App Store Packaging (Fixed Price) -- 2
Budget: $3,000 – $5,000 USD
Overview
I have a fully built and working React mobile app called CourtRoute that needs API integrations and App Store packaging. The UI is complete, all screens are functional, and the code is hosted on a private GitHub repository ready to hand over. I need a developer to replace the mock data with live API integrations and publish the finished app to both the iOS App Store and Google Play Store.
CourtRoute is a travel planning app for professional tennis players. Players select their current tournament, apply filters (tour level, surface, budget, timing), and see a list of upcoming tournaments they could travel to next. Tapping a tournament shows the best flight options, driving distance, car rental options, and nearby hotels — all in one place. The goal is to eliminate the hours players currently spend manually searching for flights and accommodation between tournaments.
The App
Built in Lovable, exported as clean React/TypeScript code
Hosted on a private GitHub repository (collaborator access granted on hire)
All mock data stored in a single mockData.js file — each section maps directly to one API integration making swaps straightforward
Screens: Home (tournament list with filters), Results (flights, driving, car rentals, hotels), Saved (bookmarked tournaments), Profile (player preferences), Calendar, Settings
Filters: Tour level (ATP 1000, ATP 500, ATP 250, Challenger, ITF M25, ITF M15), Surface (Hard, Clay, Grass), Travel budget, Timing
Tournament database: 316 tournaments already entered in Airtable covering July–December 2026 across all tour levels
Integration 1 — Airtable (Tournament Database)
Replace the mock tournament array with a live fetch from my Airtable base called CourtRoute. I have two tables — Tournaments (ATP and Challenger events) and ITF Tournaments (ITF M25 and M15 events). Both tables are fully structured with 316 tournaments already entered including name, location, country, latitude, longitude, nearest airport code, venue name, start and end dates, qualifying dates, surface, tour level, prize money, ranking points, and an Active checkbox to control visibility.
Requirements:
Fetch all active tournaments from both tables and merge into one list sorted by start date
All filter pills on the home screen must work against live data
Tournament count shown above the list updates when filters change
API token and Base ID provided on hire
Docs: airtable.com/developers/web/api/introduction
Integration 2 — Duffel API (Flights)
When a player taps a tournament, search for flights from the player's home airport (stored in their profile) to the nearest airport of the selected tournament (stored in Airtable). Return the 3 best options sorted by price.
Each flight card must display:
Airline name and flight number
Departure and arrival airport codes and times
Journey duration
Number of stops
Baggage information where available
Price in the player's preferred currency
A Book flight button that opens the Duffel booking flow in the player's browser
All Duffel API calls must be made server-side via Supabase Edge Functions — never from the frontend. Duffel test token is ready and waiting. Live token provided before App Store submission.
Docs: duffel.com/docs
Integration 3 — Google Maps Distance Matrix (Driving)
Using the coordinates of the current and selected tournament (both stored in Airtable), calculate driving time and distance.
Requirements:
If driving time is under 6 hours show a driving banner with drive time, route summary, and estimated fuel cost (distance in miles × $0.15)
If over 6 hours hide the driving banner entirely
All Google Maps calls made server-side via Supabase Edge Functions
Google Maps API key ready and waiting
Docs: developers.google.com/maps/documentation/distance-matrix
Integration 4 — Car Rentals
The app already has a car rental section on the results screen showing Enterprise, Hertz, Budget and Avis. This needs to be wired up to show real options from the arrival airport.
Preferred API: Skyscanner Car Hire API or RapidAPI car rental endpoint. If you have experience with a better car rental API please suggest it in your application. Show 4 options sorted by price with: company name, car category, price per day, and a booking link.
Integration 5 — Booking.com Affiliate API (Hotels)
Using the selected tournament's coordinates from Airtable, find the 4 closest hotels within 5 miles of the venue sorted by distance.
Each hotel card must display:
Hotel name
Distance to venue in miles
Top 2 amenities
Star rating
Price per night for the tournament dates
A Book hotel button with correct affiliate tracking link
Affiliate tracking links must be correctly implemented on every result — this is how the app earns commission. Booking.com affiliate approval is currently pending. This integration can be completed last once credentials arrive.
Integration 6 — RevenueCat (Subscriptions and Paywall)
CourtRoute uses a hybrid monetisation model:
Players pay a one-time $9.99 download fee on the App Store
After viewing 3 results screens the app shows a subscription paywall
Paywall offers: $9.99/month or $79.99/year
Players who do not subscribe lose access to the results screen after the 3rd free view
Subscribers have uninterrupted full access
Implementation requirements:
Use RevenueCat to manage all subscriptions across iOS and Android
Store the results screen view counter in the user's profile — increment by 1 each time a player opens a results screen
When counter hits 3 show the paywall before the results load
Paywall clearly shows both subscription options with the value statement: "Unlimited tournament travel planning — flights, hotels and driving options in seconds"
Include a Restore purchases option for players who reinstall
All Apple and Google billing routes through RevenueCat's native SDK
Provide me with RevenueCat dashboard access to monitor subscribers and revenue
Docs: revenuecat.com/docs
Integration 7 — Supabase Backend
All API calls must be made server-side via Supabase Edge Functions to keep all API keys secure and off the frontend. Set up a Supabase project for CourtRoute and implement edge functions for:
Airtable tournament fetches
Duffel flight searches
Google Maps distance calculations
Car rental searches
Booking.com hotel searches
Set up basic error monitoring via Sentry or equivalent so API failures are caught before users report them.
Integration 8 — App Store Packaging
Once all integrations are tested and working, package the app for both stores:
iOS App Store:
Build via Expo or Capacitor
Handle all Xcode configuration
Set up app icons and splash screen (assets provided)
Prepare TestFlight beta build for my testing before final submission
Submit to App Store Connect for review
I have an active Apple Developer account ($99/year paid)
Google Play Store:
Generate signed APK or AAB file
Handle all Play Console configuration
Submit for review
I have an active Google Play Developer account ($25 paid)
What I Will Provide
GitHub repository link and collaborator access
Airtable API token and Base ID (two tables ready)
Duffel test and live API tokens
Google Maps API key
Booking.com Affiliate ID and API key (once approved — currently pending)
RevenueCat account setup together on hire
App name, logo, and brand colors (green #1D9E75, white, dark grey)
Apple Developer and Google Play Console access
App Store screenshots, description, and keywords (I can prepare these with guidance)
What I Need From You
Fixed price quote broken down by integration
Confirmed experience with: React/TypeScript, Supabase, Duffel or similar flight APIs, RevenueCat, Expo or Capacitor
One example of a similar travel or booking app you have shipped and published to the App Store
Estimated timeline from start to App Store submission
Confirmation you will set up error monitoring so API failures are caught automatically
Payment Structure
30% on project start
40% when all integrations are working and tested on my device via TestFlight
30% on successful App Store and Google Play submission
Budget: $3,000–$8,000 fixed price
Timeline: Live on both stores within 60–90 days
Communication: English required, weekly video call check-ins preferred
To Apply Please Include
Quote broken down per integration
One shipped and published app example with App Store link
Confirmation of experience with the specific tools listed
Your estimated timeline
Applications without a breakdown quote will not be considered. Please start bids with the word "10is" to be considered as well.
I have a fully built and working React mobile app called CourtRoute that needs API integrations and App Store packaging. The UI is complete, all screens are functional, and the code is hosted on a private GitHub repository ready to hand over. I need a developer to replace the mock data with live API integrations and publish the finished app to both the iOS App Store and Google Play Store.
CourtRoute is a travel planning app for professional tennis players. Players select their current tournament, apply filters (tour level, surface, budget, timing), and see a list of upcoming tournaments they could travel to next. Tapping a tournament shows the best flight options, driving distance, car rental options, and nearby hotels — all in one place. The goal is to eliminate the hours players currently spend manually searching for flights and accommodation between tournaments.
The App
Built in Lovable, exported as clean React/TypeScript code
Hosted on a private GitHub repository (collaborator access granted on hire)
All mock data stored in a single mockData.js file — each section maps directly to one API integration making swaps straightforward
Screens: Home (tournament list with filters), Results (flights, driving, car rentals, hotels), Saved (bookmarked tournaments), Profile (player preferences), Calendar, Settings
Filters: Tour level (ATP 1000, ATP 500, ATP 250, Challenger, ITF M25, ITF M15), Surface (Hard, Clay, Grass), Travel budget, Timing
Tournament database: 316 tournaments already entered in Airtable covering July–December 2026 across all tour levels
Integration 1 — Airtable (Tournament Database)
Replace the mock tournament array with a live fetch from my Airtable base called CourtRoute. I have two tables — Tournaments (ATP and Challenger events) and ITF Tournaments (ITF M25 and M15 events). Both tables are fully structured with 316 tournaments already entered including name, location, country, latitude, longitude, nearest airport code, venue name, start and end dates, qualifying dates, surface, tour level, prize money, ranking points, and an Active checkbox to control visibility.
Requirements:
Fetch all active tournaments from both tables and merge into one list sorted by start date
All filter pills on the home screen must work against live data
Tournament count shown above the list updates when filters change
API token and Base ID provided on hire
Docs: airtable.com/developers/web/api/introduction
Integration 2 — Duffel API (Flights)
When a player taps a tournament, search for flights from the player's home airport (stored in their profile) to the nearest airport of the selected tournament (stored in Airtable). Return the 3 best options sorted by price.
Each flight card must display:
Airline name and flight number
Departure and arrival airport codes and times
Journey duration
Number of stops
Baggage information where available
Price in the player's preferred currency
A Book flight button that opens the Duffel booking flow in the player's browser
All Duffel API calls must be made server-side via Supabase Edge Functions — never from the frontend. Duffel test token is ready and waiting. Live token provided before App Store submission.
Docs: duffel.com/docs
Integration 3 — Google Maps Distance Matrix (Driving)
Using the coordinates of the current and selected tournament (both stored in Airtable), calculate driving time and distance.
Requirements:
If driving time is under 6 hours show a driving banner with drive time, route summary, and estimated fuel cost (distance in miles × $0.15)
If over 6 hours hide the driving banner entirely
All Google Maps calls made server-side via Supabase Edge Functions
Google Maps API key ready and waiting
Docs: developers.google.com/maps/documentation/distance-matrix
Integration 4 — Car Rentals
The app already has a car rental section on the results screen showing Enterprise, Hertz, Budget and Avis. This needs to be wired up to show real options from the arrival airport.
Preferred API: Skyscanner Car Hire API or RapidAPI car rental endpoint. If you have experience with a better car rental API please suggest it in your application. Show 4 options sorted by price with: company name, car category, price per day, and a booking link.
Integration 5 — Booking.com Affiliate API (Hotels)
Using the selected tournament's coordinates from Airtable, find the 4 closest hotels within 5 miles of the venue sorted by distance.
Each hotel card must display:
Hotel name
Distance to venue in miles
Top 2 amenities
Star rating
Price per night for the tournament dates
A Book hotel button with correct affiliate tracking link
Affiliate tracking links must be correctly implemented on every result — this is how the app earns commission. Booking.com affiliate approval is currently pending. This integration can be completed last once credentials arrive.
Integration 6 — RevenueCat (Subscriptions and Paywall)
CourtRoute uses a hybrid monetisation model:
Players pay a one-time $9.99 download fee on the App Store
After viewing 3 results screens the app shows a subscription paywall
Paywall offers: $9.99/month or $79.99/year
Players who do not subscribe lose access to the results screen after the 3rd free view
Subscribers have uninterrupted full access
Implementation requirements:
Use RevenueCat to manage all subscriptions across iOS and Android
Store the results screen view counter in the user's profile — increment by 1 each time a player opens a results screen
When counter hits 3 show the paywall before the results load
Paywall clearly shows both subscription options with the value statement: "Unlimited tournament travel planning — flights, hotels and driving options in seconds"
Include a Restore purchases option for players who reinstall
All Apple and Google billing routes through RevenueCat's native SDK
Provide me with RevenueCat dashboard access to monitor subscribers and revenue
Docs: revenuecat.com/docs
Integration 7 — Supabase Backend
All API calls must be made server-side via Supabase Edge Functions to keep all API keys secure and off the frontend. Set up a Supabase project for CourtRoute and implement edge functions for:
Airtable tournament fetches
Duffel flight searches
Google Maps distance calculations
Car rental searches
Booking.com hotel searches
Set up basic error monitoring via Sentry or equivalent so API failures are caught before users report them.
Integration 8 — App Store Packaging
Once all integrations are tested and working, package the app for both stores:
iOS App Store:
Build via Expo or Capacitor
Handle all Xcode configuration
Set up app icons and splash screen (assets provided)
Prepare TestFlight beta build for my testing before final submission
Submit to App Store Connect for review
I have an active Apple Developer account ($99/year paid)
Google Play Store:
Generate signed APK or AAB file
Handle all Play Console configuration
Submit for review
I have an active Google Play Developer account ($25 paid)
What I Will Provide
GitHub repository link and collaborator access
Airtable API token and Base ID (two tables ready)
Duffel test and live API tokens
Google Maps API key
Booking.com Affiliate ID and API key (once approved — currently pending)
RevenueCat account setup together on hire
App name, logo, and brand colors (green #1D9E75, white, dark grey)
Apple Developer and Google Play Console access
App Store screenshots, description, and keywords (I can prepare these with guidance)
What I Need From You
Fixed price quote broken down by integration
Confirmed experience with: React/TypeScript, Supabase, Duffel or similar flight APIs, RevenueCat, Expo or Capacitor
One example of a similar travel or booking app you have shipped and published to the App Store
Estimated timeline from start to App Store submission
Confirmation you will set up error monitoring so API failures are caught automatically
Payment Structure
30% on project start
40% when all integrations are working and tested on my device via TestFlight
30% on successful App Store and Google Play submission
Budget: $3,000–$8,000 fixed price
Timeline: Live on both stores within 60–90 days
Communication: English required, weekly video call check-ins preferred
To Apply Please Include
Quote broken down per integration
One shipped and published app example with App Store link
Confirmation of experience with the specific tools listed
Your estimated timeline
Applications without a breakdown quote will not be considered. Please start bids with the word "10is" to be considered as well.