All Case Studies
Technical Build Story· 4 weeks· $5,600 CAD

How We Built Auto Detective

Dual-mode AI automotive platform. GPT-4o + Claude in parallel. 4 weeks.

Base44ReactGPT-4oClaude (Anthropic)Stripe SubscriptionsVIN Lookup APIDeno Backend Functions
View Full Case Study (Outcomes & ROI) →

The Problem

Canadian car buyers were making $30,000–$60,000 decisions with almost no reliable intelligence. Dealers were spending 45 minutes per vehicle on manual pricing research. Existing tools were either too shallow (consumer-grade) or too expensive ($500–$2,000/month dealer systems). Nothing served the gap.

Architecture Overview

Auto Detective has two distinct product modes served from one Base44 app. Consumer mode is publicly accessible — any visitor can generate a vehicle report by entering a VIN or pasting a listing URL. Dealer mode requires a subscription and is gated behind authentication and a plan check.

The AI analysis pipeline is the core architectural component. A report request goes to a backend function that: (1) looks up VIN data, (2) fetches comparable Canadian listings, (3) passes the assembled context to GPT-4o for the market pricing report, (4) passes vehicle history and notable flags to Claude for red flag analysis, (5) assembles both outputs into a structured Report entity. Running GPT-4o and Claude in parallel (Promise.all in the backend function) rather than sequentially reduced report generation time from ~8 seconds to ~4 seconds.

Database Design

VehicleReportvin, year, make, model, trim, mileage, consumer_price_low, consumer_price_mid, consumer_price_high, dealer_recommended_retail, red_flags[], ai_summary, created_by_id, dealer_id
Comparablereport_id, listing_url, price, mileage, location, days_on_market, source
DealerProfileuser_id, dealership_name, location, subscription_id, plan, trial_end, active
DealerInventorydealer_id, vin, year, make, model, asking_price, cost, days_in_stock, status, report_id
Leaddealer_id, vehicle_vin, consumer_email, consumer_name, inquiry_type, status, created_date
Subscriptiondealer_id, stripe_subscription_id, plan, status, trial_end, seats
ReportUsagedealer_id, month, reports_generated, cost_est_cad

The VehicleReport entity stores the full AI output — raw GPT-4o pricing analysis, Claude red flag summary, and final assembled report. We store the full JSON so we can regenerate the formatted report without re-running AI. Report generation cost (API fees) is tracked in ReportUsage per dealer per month so we can enforce plan limits and show dealers their usage.

AI Integration — Dual Model Pipeline

Auto Detective uses GPT-4o and Claude in parallel, each doing what it does best. This was a deliberate architecture decision made after testing both models on the same tasks. GPT-4o produces cleaner market pricing summaries and writes better plain-English recommendations. Claude handles long vehicle history documents and red flag reasoning better — it's more reliable at nuanced analysis when given a long context with ambiguous signals.

The backend function that runs the analysis: (1) fetches VIN decode data and comparable listings, (2) assembles the full context string (VIN data + comparables + vehicle history), (3) fires Promise.all([invokeGPT4o(pricingPrompt), invokeClaude(redFlagPrompt)]), (4) waits for both to resolve, (5) merges the outputs into the report structure. API costs per report are low at typical usage volumes — well within the margin of the subscription tiers.

The AI agents for buyer Q&A are configured on Base44 with read access to the VehicleReport and DealerInventory entities, plus a backend function tool that generates fresh comparables on demand.

Stripe Implementation

Dealer subscriptions use Stripe's Subscription API with two plans: Professional ($79/month) and Enterprise ($199/month). Trial management was a key implementation detail — dealers get 14 days free, and the trial end date is stored on the DealerProfile entity. A daily scheduled automation checks for trial expirations and sends reminder emails at day 10 and day 14.

The subscription checkout uses Stripe Checkout with a subscription mode session. On checkout.session.completed, we create the DealerProfile and Subscription entities and send a welcome email with login instructions. Subscription cancellations trigger a scheduled deletion — the account stays active until period end, then a webhook event sets the dealer's plan to 'cancelled' and restricts report generation.

Technical Challenges

Comparable data consistency

Canadian automotive listing data from different sources uses inconsistent formats — some prices include taxes, some don't; mileage is in km or miles depending on source. We built a normalization layer in the backend function that standardizes all comparables before passing them to GPT-4o. Without this, the AI pricing analysis was unreliable.

Managing parallel AI calls

Running GPT-4o and Claude in parallel via Promise.all works well, but if one fails, the whole report fails. We wrapped each AI call in an independent try/catch — if Claude's red flag analysis fails, the report still generates with GPT-4o's pricing output and a 'red flag analysis unavailable' note.

Report accuracy validation

Before launch, we ran a batch of historical vehicles through the AI pipeline and compared AI pricing to actual sale outcomes. The large majority landed within an acceptable range. Outliers were unusual vehicles — modified trucks, rare trim levels — where comparable data was sparse. We added a confidence score to the report (high/medium/low) based on comparable count.

Lessons Learned

Multi-model AI pipelines are worth the complexity. GPT-4o + Claude outperformed either alone on the automotive analysis task.
Data normalization before AI context assembly is non-negotiable. Garbage in, garbage out — even with GPT-4o.
Build accuracy validation into pre-launch testing for AI output. Know your accuracy rate before customers pay for reports.
Stripe trial management needs a scheduled automation — manual tracking of trial expirations doesn't scale.

Want the outcomes, ROI, and client testimonial?

The full case study covers results, metrics, and what the client said.

Full Case Study

Related

Want to Build Something Similar?

Free 30-minute call with Ryan. Fixed quote before we hang up.

$100/hr CAD all-inclusive. 2–6 week delivery on Base44.

Book Free Discovery Call

ESTIMATE DISCLAIMER

Any estimates, pricing proposals, or preliminary assessments provided through this website, AI chat, or email are non-binding estimates only and do not constitute formal quotes. Estimates are subject to change and are provided on an "as-is" basis without guarantee. Official quotes are provided only in writing by Level 44 Labs and are subject to revision based on final scope clarification.

QUOTE & PROJECT TERMS

All formal quotes are subject to errors and omissions. Final project scope, timeline, and costs may change based on requirements discovery, technical constraints, third-party dependencies, and client-requested modifications. A formal written agreement must be executed before work begins. Discovery calls are informational only and do not constitute project commitment.

LIABILITY LIMITATION

Level 44 Labs and its representatives shall not be liable for any indirect, incidental, special, or consequential damages arising from estimates, quotes, website content, AI-generated responses, or service delivery. Our total liability is limited to the amount paid for services rendered. Client assumes all risks associated with third-party services, integrations, and platform dependencies.

NO WARRANTIES

All estimates, preliminary advice, and website information are provided "as-is" without warranty. Level 44 Labs does not warrant accuracy, completeness, or suitability for any particular purpose. Clients are responsible for verifying all technical requirements independently.

INTELLECTUAL PROPERTY

Custom work delivered under formal agreement remains the property of Level 44 Labs until payment in full is received. Third-party libraries, frameworks, and Base44 platform code are governed by their respective licenses.

© 2026 LEVEL 44 LABS · ALL RIGHTS RESERVEDBUILT ON BASE44