Digital Car Rental Handover & SaaS Platform
📌 Project Overview
Steer is a premium mobile-first, multi-tenant SaaS application designed to digitize the critical "Key Exchange" process in the car rental industry. Built by Tawananyasha Mukoriwo (tawananyasha.com), this platform allows independent fleet owners and rental companies to manage vehicle handovers, generate digital receipts, and execute legally binding rental agreements seamlessly, leaving behind cumbersome paper-based memorandums.
The application features a lightweight AI assistant powered by Gemini, acting as a "Digital Glovebox" for clients during their rental period, providing instant, context-aware answers based on the company's specific rules and the vehicle's manual.
🛠 Tech Stack & Architecture
- Frontend: Next.js (React) for a snappy, responsive, and mobile-first user interface.
- Backend/BaaS: Firebase (Firebase Auth for seamless Google Login).
- AI Integration: Google Gemini API.
👥 User Roles & Permissions
The system is built with multi-tenancy from day one, supporting the following hierarchy:
- Super Admin (Developer/Platform Owner): Has global oversight of the SaaS platform, manages subscriptions, oversees all tenant companies, and handles system-wide maintenance.
- Company Admin (Tenant Creator): The individual who registers the car rental company (e.g., Steer Car Rental). They have full control over the company profile, broad vehicle data, custom agreement text, and the ability to whitelist additional admins.
- Whitelisted Admin (Staff): Authorized staff members who can initiate rentals, complete checklists, and counter-sign receipts on behalf of the company.
- Client (Hirer): The end-user renting the vehicle. They access the app via a magic short-link, authenticate via Google, review terms, sign the agreement, and access the AI assistant.
🔄 The Core Workflow: The Digital Handover
The application digitizes the handover through a secure, multi-step state machine:
1. Initiation (Owner Drafts the Agreement)
- A Whitelisted Admin logs into the dashboard and creates a new rental record.
- They select the vehicle and input the rental terms, including the daily charge, collection/return dates, and the breakdown of fees (Rental, Deposit, Other).
- The admin completes the "Out" portion of the Vehicle Checklist (recording mileage out, fuel in, etc.).
- The system generates a secure, unique short-link for this specific rental session.
2. Client Invitation & Review (Pending State)
- The Admin shares the short-link with the Client (via WhatsApp, SMS, or email).
- The Client clicks the link, authenticates quickly using Google Login, and is presented with a clean, mobile-optimized summary of the rental.
- The Client reviews the financial breakdown, the vehicle's outgoing condition, and the company's specific liability terms (e.g., the hirer is responsible for fuel, checking oil/water, and minimum accidental fees).
3. Acceptance & Final Approval (Active State)
- The Client digitally signs the agreement, accepting custody of the vehicle.
- The state updates in real-time on the Admin's dashboard. The Admin does a final review of the Client's profile and counter-signs to approve the release of the vehicle.
- Result: The system locks the record, generates a consolidated PDF combining the Memorandum of Agreement and the Cash Receipt, and makes it available for both parties to download or view online at any time.
📱 Key UI/UX Strategies
- Mobile-First Design: The application is built under the assumption that 90% of handovers happen in a parking lot. Interfaces must be thumb-friendly with high contrast.
- The Categorized Stepper Checklist: To handle extensive vehicle checklists (like checking the Windscreen, Floor Mats, Wheel Spanner, and Jack), the UI groups items into logical categories (e.g., Exterior, Interior, Tools & Accessories).
- "Select All" Functionality: Each checklist category features a "Select All (Good Condition)" toggle to drastically speed up the checkout process for well-maintained vehicles, allowing admins to only manually adjust items that have issues.
- Broad Profiles: Company and Vehicle profiles are designed to hold rich text and metadata (website links, emergency contacts, specific vehicle quirks) to provide maximum context to the end-user.
🤖 The "Digital Glovebox" (Gemini AI Feature)
During an active rental, the Client has access to a chat interface powered by Gemini. This transforms the static rental agreement into an interactive, value-driven experience.
- Context Injection: When a Client asks a question, the backend retrieves the specific Company Profile, the Vehicle Profile, and the active Rental Agreement terms, passing this rich text directly into the Gemini system.
- Use Cases:
- Troubleshooting: "How do I open the fuel cap on this specific model?" (Answered using Vehicle Profile data).
- Policy Queries: "Am I allowed to let my brother drive the car?" (Answered using the Agreement data, explicitly stating the hirer shall not allow the vehicle to be used by anybody else) .
- Emergency Guidance: "I had a minor bumper scratch, what do I do?" (AI advises them to notify the owner immediately and obtain a police report for insurance, as per the rules) .
