Back to Projects

RentEase

Role:Full-Stack Developer, UI/UX Designer & Business Analyst
Stack:ReactViteFirebaseCloud FunctionsMeta Pixel
Visit Live Site
01

Problem Statement

Sri Lanka's vehicle rental market has traditionally been fragmented. Owners relied on Facebook groups and word-of-mouth, while renters struggled to find verified vehicles, transparent pricing, and real-time availability.

User Pain Points

  • No centralized platform for verified listings.
  • Communication happens off-platform (WhatsApp/Calls), leading to lost context.
  • No way to check vehicle availability before contacting the owner.

Business Goals

  • Create a trusted marketplace that connects local owners with renters.
  • Automate the discovery and communication process.
  • Build a scalable platform capable of handling thousands of listings.

Competitive Landscape

FeatureRentEaseFacebook Groupsikman.lk
Verified Listings✅ Yes❌ NoPartial
Real-time Chat✅ Yes❌ No❌ No
Availability Calendar✅ Yes❌ No❌ No
Location-based filtering (Province/District/City)✅ Yes❌ NoBasic
02

User Research

To ensure the platform addressed real needs, I conducted lightweight stakeholder interviews and competitive analysis, then defined distinct user journeys for the two primary sides of the marketplace — Vehicle Owners and Renters. Requirements were captured as jobs-to-be-done and prioritized (MoSCoW) into an MVP backlog.

"The Side-Hustle Owner"

Has 2 vehicles, wants passive income

"I want to rent out my extra car, but I don't want to constantly answer calls just to say the car isn't available this weekend."

Needs: Easy calendar management, verified renters, secure chat.

"The Weekend Explorer"

Frequent renter for family trips

"I hate scrolling through messy Facebook groups. I just want to search for an SUV near me and see if it's available today."

Needs: Location-based search, clear pricing, instant availability checks.
03

Design Process & High-Fidelity UI

The design evolved from rough wireframes to a polished, premium dark-mode interface using glassmorphism principles to establish trust and modernity. The landing page focuses on a clear value proposition: "Find Your Perfect Ride Today", inviting users to discover vehicles from trusted owners across Sri Lanka.

RentEase Landing and Browse Pages High-Fidelity Design
  • Curated Discovery: Highlighted "Premium Picks" (specially promoted vehicles for the best experience) and "Featured Vehicles" (top picks from trusted renters) to build immediate trust.
  • Frictionless Browsing: The Browse page provides quick access to filter by vehicle types (Cars, SUVs, Bikes, Vans, etc.) and search by name, brand, or model.
  • Premium Aesthetics: Chose a dark theme with vibrant accents to differentiate from generic classifieds sites.
04

Key Features

RentEase is packed with production-ready features designed for performance and scale.

Real-Time Chat & Context

Built a low-latency chat system using Firestore `onSnapshot`. When a user messages an owner from a vehicle page, the chat automatically attaches the vehicle context (thumbnail and title) to the conversation, ensuring owners always know which vehicle is being discussed. Features read receipts and unread badges.

RentEase Chat Interface

Cascading Location Filters & 'Near Me'

Implemented cascading Province → District → City selection for listings and search. Users set a location to fetch "Near Me" results and see proximity-ranked vehicles around the selected city, powered by localized Sri Lankan city coordinate mapping and dynamic district expansion.

RentEase Near-Me Interface

3-Tier Image Optimization

To ensure fast loading times on mobile networks, vehicle uploads go through client-side WebP compression (`browser-image-compression`). The app generates three variants (thumb, medium, large) and serves them using responsive `srcSet` tags, reducing bandwidth consumption significantly.

RentEase Image Upload/Gallery
05

Technical Architecture

The platform is built on a modern serverless stack, allowing for rapid development and infinite scaling without managing infrastructure.

Frontend
React, Vite, Tailwind CSS, Framer Motion
Backend
Firebase Firestore (NoSQL), Cloud Storage
Auth
Firebase Auth (Google, Email)
Cloud
Firebase Cloud Functions, Hosting

Notable Technical Implementations:

  • Dynamic SEO: Implemented `react-helmet-async` for JSON-LD structured data and dynamic meta tags for many location-focused pages (e.g., `/rent-cars-in-colombo`).
  • Cloud Functions: Wrote Node.js functions to handle secure rating recalculations, generate Facebook Advantage+ Catalog feeds (CSV), and render dynamic Open Graph meta tags for WhatsApp sharing.
  • Security Rules: Wrote strict Firestore security rules to ensure users can only edit their own vehicles and read messages in chats they participate in.
06

Testing & Quality Assurance

Ensuring reliability in a marketplace is critical. I implemented a robust manual testing strategy and quality checks to guarantee a seamless user experience.

Quality Initiatives

  • Auth Edge Cases: Identified and resolved critical edge cases in multi-provider authentication (e.g., linking Email and Google Auth accounts without data loss).
  • Performance Benchmarks: Established performance checks; in internal same-region tests, real-time chat median latency was under 500ms.
  • Security Audits: Implemented and manually tested complex Firestore access control rules across all collections to prevent unauthorized data access.
  • Pipeline Validation: Thoroughly tested the 3-tier image optimization pipeline across different device profiles using Chrome DevTools network throttling.

Testing Toolkit

Manual TestingChrome DevToolsFirebase EmulatorPostmanLighthouse

Sample Test Case

Scenario: User attempts to view a chat thread they are not a participant in.

Expected: Firestore security rules deny read access. UI gracefully handles the error and redirects to inbox.

Status: Passed ✅

Scenario: After Email signup, user signs in with Google.

Expected: Accounts link to a single profile; existing listings and messages remain intact.

Status: Passed ✅

Scenario: Image pipeline serves correct variant via srcSet on a high-DPR mobile device.

Expected: Browser requests appropriate medium/large variants; no layout shifts occur in the gallery.

Status: Passed ✅

07

Results & Reflection

20+
Registered Users
As of end of May 2026
29+
Active Listings
2 Weeks — Time from launch to first 29 listings
As of end of May 2026

Reflection

Building RentEase from scratch to a production-ready application was a massive learning experience in full-stack architecture.

What Worked Well: Firebase's real-time capabilities were perfect for the chat system and calendar syncing. The decision to use a 3-tier image optimization pipeline drastically improved load times, especially for users on slower mobile networks in Sri Lanka.

Challenges: Handling complex global state across 30+ routes and managing edge cases in authentication (like linking Email and Google Auth accounts) required deep dives into React Context and Firebase documentation.

Future Improvements: I plan to integrate a direct payment gateway for booking deposits and migrate the codebase to TypeScript for better developer experience and type safety.

Next Project: Serandib

Next Project

Serandib