Carfest

Carfest was Georgia's first digital car dealership. It sold used cars, including cars bought at US auctions, and every car came with a 150+ point condition report, a 1-year warranty on the engine, gearbox and axle, and a 7-day money-back guarantee. Buyers could browse cars already in Tbilisi, cars still on their way, and cars coming up for auction; see what each one would cost once repaired and cleared through customs; and apply for leasing from the car page itself.

Redberry designed and built Carfest from the ground up, starting in 2019, as a dedicated agile team covering user research, product and brand design, engineering, DevOps, and growth strategy. The business grew from zero to a $10 million run rate within its first year, and by January 2022, Carfest reported selling 100 to 150 cars a month. Everything ran on one Laravel application: the storefront, the operations back office on Laravel Nova and the scheduled jobs that kept prices, arrivals and financing offers current.

We are responsible for

User ResearchProduct DesignBrand StrategyUI/UX DesignWebsite DevelopmentBusiness DevelopmentUser TestingDevOpsGrowth Strategy
Scope:
Dedicated agile team
Team:
8 people
Duration:
24 months

Challenge

Buying a used car in Georgia was a frustrating and time-consuming process. Buyers brought technicians to viewing after viewing to check a car's condition, struggled to trace its history, and still could not be sure of its overall state. The automotive market was fragmented, with no central control over vehicle condition.

Carfest set out to sell what the market didn't offer: a used car with a warranty. Promising a 1-year warranty on the engine, gearbox and axle meant every car had to meet a standard Carfest was willing to guarantee, and buyers needed a reason to believe that promise before they visited. Selling online added a harder layer. A single car could be at auction, in transit or in Tbilisi; repaired or not; cleared through customs or not; and each state changed what it cost, how it could be financed and what a buyer needed to know before committing. With the business growing from its first car to a multi-million-dollar run rate within a year, every inquiry also needed to reach the sales team without delay.

Solution

Redberry built Carfest as a Laravel-native commerce platform organized around the car's journey from auction to driveway. Each car was a single record that held its full cost structure - auction or invoice price, transportation, customs and repair - together with its stage: listed at auction, in transit, arrived, damaged or repaired. Listings, filters, the car page, financing offers and the marketing feeds all read from that one model, so a car's price and status matched wherever it appeared.

Around that core, the platform connected Carfest to the partners the dealership depended on: leasing companies, a lender, the US auctions and the sales team's CRM. Financing offers, live bids and every buyer inquiry flowed through the same system that held the inventory, and scheduled jobs kept prices, arrivals and financing current without manual updates. Carfest's team ran inventory, inspections, auctions and campaign pages from a back office built on Laravel Nova.

img
img
img
img
img

Stage-Aware Listings and Transparent Pricing

Every car page adapted to where the car was in its journey. The designs covered each combination Carfest sold - repaired or not, customs-cleared or not, in Tbilisi or in transit - and the page showed the car's price next to the estimated customs and repair costs that still applied. A car in transit displayed its expected arrival date, and a daily job marked it as arrived once that date passed. Buyers filtered the inventory by location and condition as well as make, model, price, year, mileage, fuel type and transmission, with price and mileage ranges calculated from the live stock. Prices switched between US dollars and Georgian lari at the National Bank of Georgia rate. Each car page also showed how many people had viewed the car and how many had applied.

img

150+ Point Inspection and the Carfest Certificate

Each car went through a 150+ point inspection, and its condition report page laid out the full checklist grouped by vehicle system, from engine mounts and the cooling system to the brake booster, ABS unit and fuse box. The checklist lived in the back office, so the inspection team could refine it without a code release. Every inspected car could also carry a Carfest certificate: the inspector's name and photo, a verdict and written assessment, and a running count of the cars Carfest had inspected, with a link through to the full evaluation form. The guarantees that set Carfest apart - the 1-year warranty, the 7-day money-back guarantee, test drives and technical inspection - appeared as icon badges on the car page. They were managed as tags, so the team could attach the right set to each car.

img
img
img

Visual Damage and Repair History

Carfest showed buyers what was wrong with a car and how it was fixed. Each damage record was tied to a specific body part, and the car page rendered an interactive vehicle diagram that highlighted every damaged part. Selecting a part opened its before-and-after repair photos, so a buyer could review each repair in turn and compare the car's condition before and after the work. The same page carried the photo gallery, a video walkthrough and a 360-degree interior and exterior view. The 360-degree data was fetched from SpinCar by VIN in a daily job and cached, so the car page loaded the viewer without calling SpinCar on every visit. Photos were converted to WebP at nine sizes, from listing thumbnails to full-width slides.

img

US Auction Sourcing With Live Bids

Carfest also listed cars before they were bought. An auction section showed vehicles coming up at US auctions such as Copart and IAAI, each with a countdown to the sale and its current bid. When the team hadn't set a price manually, the platform pulled the bid from the auction's lot page, with separate handling for each auction house. Auction listings used the same filters, damage records and inspection badges as the main inventory, and the car page added the costs a buyer would carry on top of the winning bid: transportation, customs and repair. From there, a buyer could ask Carfest to bid on the car for them, and the application reached the sales team linked to that car.

img
img

Import and Customs Calculators

For buyers who wanted a specific car that was not in stock, Carfest offered an import service backed by two calculators. The first returned the landed price at Poti for a chosen make, model and year. Prices came from a spreadsheet filled in by hand: a console command loaded it, cleaned the hand-typed entries, expanded year ranges into year-by-year prices and cached the result, so prices were updated in the sheet rather than in code. The second estimated customs clearance in lari from engine volume, year, steering side and fuel type: it applied an excise rate set by steering side and fuel, scaled it by engine size and an age coefficient, then added import duty and fixed processing fees. The landed-price calculator ended with a request to speak to an import manager, which arrived in the CRM already tagged as an import lead.

img
img

Leasing Comparison and Instant Financing

Carfest showed financing on every listing. A separate leasing-calculator service, connected through a Laravel package Redberry wrote, held the partners' conditions. Carfest published its inventory to that service every day and pulled back the lowest 60-month payment for each car, which the listing showed alongside the price. The leasing calculator let a buyer set the car price, down payment, term (12 to 60 months), and credit standing, then compare partner offers, including those their credit profile did not qualify for and why. When a buyer applied with their personal ID and consent, the platform requested their conditions from a lending partner's API and showed an approval result on the spot.

img
img
img
img

Trade-In, Model Reviews, and Car Requests

Carfest brought in buyers who were not ready to pick from the current stock. A trade-in flow recorded the make, model, year and mileage of a buyer's current car, saved it, and sent it to sales flagged for a trade-in, so the buyer could exchange it for a Carfest car under warranty. A sell-your-car flow collected the same details for sellers, and the final offer followed Carfest's assessment of the car. Carfest Space, the review section, published model reviews with durability, fuel consumption and top-speed ratings; a used-price range; pros and cons; specifications; photo galleries; and testimonials. Each review included a request for the same model, which reached the CRM linked to the review the buyer came from.

img
img
img

Applications, Accounts, and Lead Capture

Every car page led to an application. The form let a buyer choose between leasing and a staged payment plan, leave their details, or request a consultation for a call instead. Customers registered with their phone number and an SMS code, and their account listed their payments. Every form ended in the CRM, with several queued jobs that carried the car link, payment method and the UTM parameters stored in cookies when the buyer arrived from a campaign, so sales and marketing could trace each lead to its campaign. When a lead changed stage in the CRM, a webhook sent the buyer an SMS from a template the team edited in the back office.

Involvement & Process

The work started with 1-on-1 and group interviews with people who had recently bought or sold a car and with current owners. The team turned those interviews into personas and customer journey maps that identified buyers' pain points. Design moved from wireframes through several fidelity iterations to a Figma prototype tested with users. In Figma, the car page was designed as a matrix of states - repaired or not, customs-cleared or not, arrived or in transit, at auction or discounted - for desktop and mobile, and the leasing calculator went through four versions, followed by a redesign of how costs and financing appeared on the car page.

Redberry shaped Carfest's brand strategy alongside the product and worked on its growth strategy. The design system carried the brand's purple palette, logo colors and campaign components, including homepage hero and popup variations for promotions. Growth work was built into the platform: UTM attribution from campaign click to CRM lead, an XML vehicle catalog feed for Meta that listed every available car with its VIN, photos, mileage, condition, lari price and best monthly payment for inventory ads, SMS follow-ups tied to CRM stages, and a page builder the Carfest team used to launch campaign landing pages on their own.

 

The storefront was built in Vue.js with Vuex, mounted in Laravel views that handed each page its data. The team built the filters, galleries, the interactive damage diagram, the condition report and certificate, the leasing, import and customs calculators, the application and registration flows, and the review section. The site ran in Georgian, English and Russian, with translations managed on the Laravel side and loaded into Vue. For search, the team generated a weekly sitemap index split by content type and covering all three languages, and set up permanent redirects when the URL structure changed so existing links kept their value.

The backend was a Laravel application built around the car model and its cost and stage data. The team built the query scopes behind the filters and search, the integrations with the leasing-calculator service, the lending partner's pre-approval API, the CRM and its webhooks, the SMS gateway, SpinCar, the National Bank of Georgia rate feed, the auction lot pages and the import pricing loader. The heavier CRM submissions were queued on Redis and processed by workers under Laravel Horizon, so the buyer got a response without waiting on the CRM. Media ran through Spatie's media library with WebP conversions, and image URLs were cached and refreshed every two minutes to keep listing pages fast. The back office was a Laravel Nova admin covering cars, models, damages, inspections, auctions, leasing partners, model reviews, SMS templates and payments, with custom components the team built for this project: a page builder, an icon field, a JSON array field and a rich-text editor.

The platform ran on a Laravel Forge-managed server, with separate production and test sites. Redis backed the cache and the queues; Horizon supervised the workers, and the Laravel scheduler ran the daily leasing, currency, arrival and 360-degree jobs, the weekly sitemap build, and the two-minute image cache refresh.

User testing ran through the design phase on Figma prototypes, with findings fed into each design iteration. Delivery ran in Scrum, with work moving through a staging branch before release, and releases were checked through automated and manual testing, with coding standards enforced by linters and formatters on both the PHP and JavaScript sides.

Tech Stack
img

Meet the authors

We are a 200+ people agency and provide product design, software development, and creative growth marketing services to companies ranging from fresh startups to established enterprises. Our work has earned us 100+ international awards, partnerships with Laravel, Vue, Meta, and Google, and the title of Georgia’s agency of the year in 2019 and 2021.

CONTACT US
<h3>Dati Chkhikvishvili</h3>

Get in touch

Dati Chkhikvishvili

Chief Business Officer

Similar Projects
E-space

e-Mobility

Lunchoba

Food Delivery Mobile App & Platform