DriveMatch - AI-Powered Vehicle Financing Made Simple
Inspiration
Car buying is stressful. Between confusing APR rates, hidden fees, and unclear affordability calculations, consumers often feel lost in the financing process. We were inspired to create DriveMatch - a zero-friction iOS app that transforms vehicle financing from a confusing maze into a delightful, transparent experience. Our goal: make lender-grade financial guidance as simple as a few taps.
What it does
DriveMatch is an intelligent vehicle financing companion that provides personalized, pre-approved vehicle recommendations in seconds:
Core Features
- Smart Onboarding: Seamless 4-step setup collecting location, income (via Plaid), and credit data (via Equifax soft-pull)
- AI-Powered Tax Calculation: Uses Gemini API to determine county-specific sales tax based on user location
- TFS Score: Proprietary creditworthiness metric (0-100) calculated using:
$$\text{TFS Score} = 0.35 \times S_{\text{income}} + 0.30 \times S_{\text{credit}} + 0.20 \times S_{\text{available}} + 0.15 \times S_{\text{savings}}$$
where each component is normalized to 0-100 scale
- Tinder-Style Swipe Interface: Browse personalized vehicle matches with instant affordability feedback
Real-Time Financial Calculations:
- Monthly payments with dynamic APR based on TFS Score
- Adjustable down payment slider
- Comprehensive cost breakdowns (MSRP + Tax + Finance)
- Affordability ratio: $\frac{\text{Monthly Payment}}{\text{Available Income}}$
AI Vehicle Ranking: Gemini API analyzes user's financial profile and ranks all vehicles, maintaining a 2:1 ratio of affordable to stretch options
Pre-Approval System: Users with affordability < 75% AND TFS Score ≥ 80 get instant pre-approval
Demo Settings Panel: Adjustable parameters (income, spending, credit score, tax rate) for testing different scenarios
Financial Intelligence
The app calculates available monthly payment capacity:
$$\text{Available} = \frac{\text{Annual Income}}{12} \times (1 - 0.20) - \text{Monthly Spending}$$
where 20% is automatically allocated to savings, and spending defaults to 70% of monthly income.
How we built it
Technology Stack
- Frontend: SwiftUI (iOS 18+) with custom animations and gesture controls
- State Management:
@Observablemacro for reactive UI updates - APIs:
- Gemini 2.0 Flash for AI-powered tax lookup and vehicle ranking
- Mock Plaid/Equifax integrations with realistic data simulation
- Architecture: MVVM pattern with dedicated service layers
- Security: API keys stored in secure
.plist(gitignored) with runtime loading
Key Technical Achievements
- Smart Image Preloading: Cache manager preloads first 5 vehicle images, then fetches one ahead on each swipe
- Complex Gesture Handling: Solved interference between card swipe and down payment slider using
simultaneousGesture - AI Prompt Engineering:
- Structured JSON output validation with retry logic
- Enforced 2:1 affordable/stretch ratio in vehicle ranking
- Context-aware tax percentage parsing (handles both decimal and percentage formats)
- Dynamic APR Calculation: TFS Score-based rates (3.49% - 11.99%) instead of traditional credit-only tiers
- Real-Time Re-Ranking: Changing demo settings triggers full AI re-evaluation of vehicle matches
- Accessibility: Full haptic feedback, VoiceOver support, and color-blind friendly status indicators
UI/UX Design
- Premium Apple-quality interface with smooth animations
- Glassmorphic affordability badges overlaid on vehicle images
- Color-coded status system (Green/Yellow/Orange/Red) for instant visual feedback
- Sequential loading animations for TFS Score calculation
- Consistent spacing and typography across all onboarding screens
Challenges we ran into
Number Formatting Chaos: Currency values initially displayed as
$,.0fdue to string interpolation issues. Solved by implementing properNumberFormatterinstances.Gemini API Inconsistency: Tax percentages returned as decimals (0.08) instead of percentages (8%). Built intelligent parsing with fallback logic to multiply by 100 when values < 1.0.
UI State Management: Screen transitions wouldn't trigger despite state changes. Fixed with
@MainActorannotation,.id()modifiers, andwithAnimationwrappers.Gesture Conflicts: Swiping cards while adjusting sliders caused unintended actions. Resolved using
simultaneousGesture(DragGesture())to capture slider interactions.Image Loading Performance: Vehicle images took too long to load. Implemented intelligent
URLCachepreloading strategy.JSON Validation: Gemini sometimes returned invalid JSON for vehicle ranking. Built retry mechanism with schema validation.
Affordability Calculation: Initially didn't account for user spending correctly. Refined formula to:
Available = (Income/12) × 0.8 - Spendingwith adjustable spending percentage in settings.SwiftUI Layout Bugs:
- Multiple cards visible during swipe (fixed with conditional rendering based on offset)
- Grey background flash on load (fixed with explicit
zIndexlayering) - Whitespace after completing deck (fixed with
Spacer()centering)
Accomplishments that we're proud of
✨ Built a production-quality iOS app in record time with sophisticated AI integration
🎨 Achieved Apple-level UI polish - smooth animations, premium feel, intuitive interactions
🤖 Pioneered TFS Score - a holistic creditworthiness metric that goes beyond traditional credit scores
🧮 Complex Financial Math - Real-time APR calculation, affordability ratios, and dynamic payment projections
🚀 Intelligent AI Integration - Gemini API powers both tax lookup and personalized vehicle ranking with 2:1 ratio enforcement
🎯 Pre-Approval Innovation - Instant qualification decisions based on multi-factor analysis
🛠️ Solved Hard Problems - Gesture conflicts, async state management, AI response validation, image preloading
📱 Accessibility First - Haptic feedback, readable fonts, color-blind friendly indicators
What we learned
- SwiftUI Concurrency: Deep dive into
@MainActor,async/await, and state isolation in Swift 6 - AI Prompt Engineering: Structured output generation, JSON validation, and retry strategies
- Financial Domain Knowledge: APR calculations, loan amortization, debt-to-income ratios
- Performance Optimization: Image caching strategies, lazy loading, and preloading techniques
- UX Psychology: How progressive disclosure and instant feedback improve user confidence
- API Security: Proper key management and gitignore best practices
What's next for DriveMatch
Immediate Features
- Real Plaid Integration: Connect to actual bank accounts for transaction analysis
- Live Equifax API: Perform real soft credit pulls with user consent
- Lease Options: Add lease calculations with residual values and money factors
- Insurance Estimation: Partner with insurance APIs for accurate premium quotes
Advanced Intelligence
- Enhanced TFS Score: $$\text{TFS}_{\text{v2}} = f(\text{income stability, debt history, payment patterns, employment tenure})$$
- Predictive Analytics: ML model to predict approval likelihood
- Market Analysis: Real-time vehicle pricing and incentive data
- Scenario Modeling: "What if" calculator for income changes, rate fluctuations
User Experience
- Dealer Integration: QR code handoff for seamless in-person experience
- Document Scanning: OCR for W-2, paystub, and ID verification
- Push Notifications: Alert users to rate drops and new vehicle matches
- Social Features: Share favorite vehicles with family/friends
Scale & Partnerships
- Multi-Lender Support: Expand beyond TFS to other financial institutions
- Used Vehicle Market: Integrate with certified pre-owned inventories
- Trade-In Valuation: Instant offers based on VIN and condition
- White-Label Platform: License technology to other auto lenders
DriveMatch isn't just an app - it's the future of transparent, AI-powered vehicle financing. 🚗✨

Log in or sign up for Devpost to join the conversation.