Swift SwiftUI MapKit

Plan the trip.
Pick the mode.

Duffel lines up drive time and fuel cost against a rough flight estimate, then makes a reccomendation based on cost, time, or a balanced call when they disagree.

App Store soon GitHub Privacy policy

Everything in one flow

No spreadsheets. Just the inputs you already think about
when you’re deciding whether to drive or fly.

See it in action

Screens from the real app—trip inputs, comparison cards, the recommendation, and settings.

Duffel home screen with hero headline, weather, map illustration, and trip fields for Indianapolis to Pittsburgh.
Home · trip at a glance
Road trip math card with MPG, gas price, people in car, airport buffer, and Compare trips button.
Road trip math & priorities
Your comparison screen with drive and fly cards showing time, cost, and actions for Maps and Google Flights.
Drive vs. fly cards
Drive comparison card with expanded cost breakdown and Start route in Maps button.
Drive cost breakdown
Fly card with ballpark time breakdown and Open Google Flights button.
Flight estimate & Flights
Map of the driving route and Our 2 Cents cards with final Drive recommendation.
Map, tradeoffs & pick
Settings with color mode, sky gradient, drive preferences, and tip jar.
Settings & support

Shipped for iPhone & Mac

Watch this space for the public App Store link. Until then, the GitHub repo is the best place to follow progress (if the project is public).

App Store badge: URL coming soon

Privacy policy

Last updated: April 2, 2026

This policy describes how the Duffel app (“the app”), developed by Karteikay Dhuper, handles information. The app is designed to run primarily on your device; it does not require you to create an account in the app.

Information the app may use

  • Locations you enter. Trip origin and destination are used with Apple’s MapKit and related services to geocode places, compute driving directions and distances, and build comparison context.
  • Approximate device location (optional). If you allow it, the app may use your current location once to suggest a starting label for “From” and/or to fetch nearby weather for display on the home screen. You can deny location access and still type locations manually.
  • Preferences you set. Values such as MPG, gas price, airport buffer, drive preferences, and trip priority may be stored locally on your device (e.g. UserDefaults) so the app remembers your choices between launches.

Network and third parties

  • Apple. MapKit and system location services are subject to Apple’s privacy policy.
  • Weather data. The app may request current conditions from a public weather API (e.g. Open-Meteo) using coordinates derived from your location or your trip: only what’s needed for that request.
  • Optional EIA data. If configured, the app may request a U.S. average gas price from the U.S. Energy Information Administration (EIA). An API key, if present, is stored in your project configuration, not on a Dhuper-operated server.

The app does not sell your personal information. Duffel is not intended to host a social network or advertising profile on behalf of the developer based on app usage.

Analytics and ads

If analytics or advertising are added in a future version, this policy will be updated and, where required, additional consent or App Store disclosures will apply.

Children

The app is not directed at children under 13. If you believe we have inadvertently collected a child’s data, please contact us and we will take appropriate steps.

Changes

This policy may be updated when the app changes. The “Last updated” date at the top will reflect the latest revision.

Contact

Questions about this policy or Duffel: use the contact options on kartydhpr.com (e.g. LinkedIn or email when listed).

Back to Programming & Projects