Skip to Main Content

// CASE STUDY · CARZZ

Carzz

Everyone's inventory.
A deal between two.

A private trading platform for car dealers: shared inventory, chat, auctions and inventory requests.

A car dealer sells only what's on the lot. When a customer wants something else, the deal goes to someone else. CARZZ opens every other dealer's inventory to licensed dealers, at dealer prices, and lets them close between themselves: talk, negotiate, bid in an auction, request a car that isn't there — and sell more.

onezero built the whole product, in stages, from 2023 to today: a web app in three languages, a Python backend on MongoDB Atlas, smart search, chat with voice messages, an auction engine, targeted inventory requests, a recurring subscription, an admin console and SMS notifications.

dealers.carzz.co.il
The CARZZ dealer login: 'the private trading platform of Israel's car dealers', a sign-in form with dealer number and password, and a dark car on a neon backdrop
DEALERS ONLY
The CARZZ login on mobile: the 'dealers only' badge above the sign-in form
ON THE LOT
  • auction36HDefault duration · reserve price · tiered bid steps
  • inventory request40Dealers at most in a targeted audience — by region, category and activity
  • languagesHE · AR · ENFull RTL, Hebrew first
  • subscription30 DAYSFree trial, then a recurring subscription through Cardcom

// 01 · What we built

A marketplace. Trading tools. A business.

CARZZ is not a classifieds board. It's a closed system for licensed dealers, where inventory is only the starting point — what matters is what happens between two dealers once the car is found.

  • 01INVENTORY · SEARCH · CATALOG

    The marketplace

    Every dealer lists their inventory at a dealer price and a customer price. A feed of cars for sale, free-text search with smart filters and radius, a listing page with photos, video, inspection report and licence — and a public catalogue per dealership, with prices hidden from customers on demand.

  • 02CHAT · AUCTIONS · REQUESTS

    The trading tools

    Dealer-to-dealer chat with replies and voice messages, timed auctions with a reserve and anonymised bids, inventory requests that reach only the relevant dealers, saved cars with private notes, and sold cars with profit and days-to-sale.

  • 03SUBSCRIPTION · ADMIN · NOTIFY

    The business & the system

    A 30-day trial then a recurring subscription, trade-credit leads, in-app and SMS notifications, and an admin console for CARZZ: dealerships, users, listings, conversations, auctions, requests, an audit log and admins at three permission levels.

// 02 · The challenge

A market that runs on phone calls.
And on trust.

Used-car dealers work with each other all day — but on WhatsApp, by phone and from memory. For a system to replace that, it had to solve things an ordinary classifieds board doesn't:

  • 01

    Closed doors: only licensed dealers get in — dealer number, trade licence and company ID — and dealer prices never reach the end customer.

  • 02

    Find the right car fast: 'Corolla 2024 hybrid white up to 90k' has to work as a search, typos and distance from the lot included.

  • 03

    Negotiate like on the phone — voice messages included — but with history, the car in context and an alert when someone answers.

  • 04

    Sell fast without burning the price: a timed auction with a reserve, anonymised bids and automatic finalisation.

  • 05

    Ask for a car that isn't in the pool without spamming the whole country — only dealers who trade it, in the right region.

  • 06

    Be a business: trial, subscription, recurring billing, invoices — and an admin console for the CARZZ team.

All of it in right-to-left Hebrew, in Arabic and in English — on the phone, on the lot, between one customer and the next.

// 03 · The solution

One deal.
From listing to profit.

We built the system around how dealers actually close — not around a feature list. This is one deal inside CARZZ:

  1. 01

    The selling dealer lists a car: photos (compressed automatically), video, dealer and customer price, licence, hand, mileage, inspection report

  2. 02

    Another dealer types 'Corolla 2024 hybrid white up to 90k' — the system detects make, model, year, colour and price and turns them into filters

  3. 03

    Results come back tolerant of typos, with distance from the lot and a 'high match' tag — and a car can be saved with a private note

  4. 04

    A message is sent from the listing: chat with replies, voice messages, and an SMS alert to the other dealership

  5. 05

    Or: the seller opens an auction — opening bid, reserve, 36 hours; bidders are anonymised ('Bidder #3'), reminders at one hour and ten minutes, automatic finalisation

  6. 06

    No such car in the pool? An inventory request goes out — the system picks up to 40 dealers by region, category and activity, and widens after 48 hours

  7. 07

    Closed: the car is marked sold with price, buyer and cost — and the sales board shows revenue, profit and average days to sale

MARKETPLACE · CARS FOR SALE

A feed of dealer inventory: photo, dealer price, year, hand and mileage — and one search box on top. Dark, fast, built for a phone on the lot.

dealers.carzz.co.il
CARZZ's 'cars for sale' screen: a grid of car cards with photos, price, year, hand and mileage, a search box and a side menu with 'my inventory' and 'messages'
DEALER PRICES · SHARED INVENTORY

// 04 · Inventory & search

One car.
Two prices.

Every car on CARZZ carries a dealer price and a customer price. The dealer sees both; the customer — through the dealership's public catalogue — sees only what the dealer chose to show. Behind the search: an Atlas Search index with fuzzy matching, a radius filter from the lot, and automatic detection of what you typed.

  • 01Free-text search that turns into filter chips
  • 02Fuzzy make/model matching (one edit away), exact-match boost
  • 03Radius from the dealership: 30 km by default, up to 300
  • 04Dealership location from a locality table and OpenStreetMap, cached
  • 05Recent searches replayed one-to-one
  • 06Photos compressed and drag-ordered, a video per car
  • 07Licence and expiry, inspection report, engine size, import type
  • 08A public dealership catalogue with a share link — and a 'show prices' switch
dealers.carzz.co.il/inventory
CARZZ's 'my inventory' screen: a heading with the car count, a 'new listing' button and a grid of car cards with price, year, hand and mileage
MY INVENTORY

// 05 · Auctions

36 hours.
The leading bid wins.

An auction opens from inventory: opening bid, reserve and duration. Bids rise in steps that depend on the amount, bidders appear as 'Bidder #' so the negotiation stays between the car and the money, and a background engine checks auctions every few seconds — sending reminders, ending on time, and opening a conversation between seller and winner when the reserve is met.

  • 01Bid steps: ₪500 up to 50k, ₪1,000 up to 150k, ₪2,500 above
  • 02Reserve price: 'sold' or 'reserve not met' at the end
  • 03Anonymised bidders, 'leading in 3', 'outbid in 1'
  • 04Reminders in the last hour and the last ten minutes
  • 05Automatic finalisation with a lease — restart-safe, no duplicates
  • 06The auction shows on the car in the feed and search ('in auction')

// 06 · Inventory requests

Looking for a car that isn't there?
Ask the right dealers.

An inventory request is the opposite of spam. The dealer describes what they want and the system builds an audience: dealers in the same district and adjacent ones, holding cars in that category, recently active — up to 40, scored and explained. Whoever has a match answers 'I have one' or with a message; after 48 hours without enough responses the audience widens.

  • Scoring by district, adjacent districts and category
  • Recent activity: listings and sales in the last 30 days
  • Two audience tiers, automatic expansion after 48 hours
  • Sent to N dealers, valid until a date, statuses: sent / responses / closed
  • A 'I have a match' response with a car from inventory, or a message
  • A shortcut from an empty search: 'send an inventory request'

The matching logic is pure and unit-tested — it can be tuned without touching the database.

// 07 · Chat & notifications

Negotiation like a phone call.
With history.

Every conversation on CARZZ starts from a car. Messages keep their context, you can reply to a specific one, delete your own, and send a voice message from the lot without typing. When a dealer messages, the other dealership gets an in-app and SMS alert — once, without duplicates.

  • 01A conversation per car, with photo and dealer name
  • 02Reply to a message, delete, optimistic 'sending…'
  • 03Voice messages: record, pause, swipe to cancel
  • 04Server-side HTML sanitising against XSS
  • 05Notifications: messages, requests, auctions — today / this week / earlier
  • 06SMS through an Israeli provider, with a dedupe key per event
  • 07A deep link from every notification to the right screen
  • 08Mark all as read, a count in the menu

// 08 · The business model

Trial. Subscription. Credit.

CARZZ is a business, not just a product. A new dealership gets a 30-day trial with every tool, then picks a plan. Payment goes through a secure Cardcom page, the subscription renews automatically at the end of each period, and renewal can be cancelled from the subscription screen. In parallel, a dealer who wants to finance a purchase leaves details for 'trade credit'.

  • 01

    30-day free trial — full access, no commitment

  • 02

    Monthly recurring subscription, quarterly and annual options

  • 03

    Cardcom: checkout page, webhook, a token for renewals

  • 04

    Expired? The screen locks and offers a plan — nothing is deleted

  • 05

    'Trial ending' reminders three days and one day before

  • 06

    A subscription event log per dealership

  • 07

    Trade credit: a lead form, an e-mail to the team, 'we'll call you back'

  • 08

    A sales page: revenue, profit, days to sale — 30/90 days, a year

// 09 · The admin console

CARZZ's
control room.

For the CARZZ team we built a separate admin console, with its own login and three permission levels: super admin, admin and support. Everything on the platform is visible from it — and every action is logged.

  • Overview: live platform numbers
  • Dealerships: verification, subscription, region, activity, dealer number
  • Users and listings filtered by status and make
  • Conversations and messages — viewed for support
  • Auctions and inventory requests
  • Outbound notifications
  • An audit log
  • Admins and roles
  • Global Ctrl+K search
  • Rate limiting on login attempts

The product's own visual language — dark, teal, fast — in the internal tool too.

// 10 · Design & principles

Three principles.

  • 01

    Dealers only

    Sign-in by dealer number; trade licence and company ID at registration; verified dealerships; dealer prices that stay between dealers. Closed doors aren't a limitation — they're why dealers post real prices.

  • 02

    On the lot, on the phone

    Dark so it doesn't glare in the sun, big cards for a thumb, a voice message instead of typing, saving with a note like 'check the test' or 'fits a client'. Desktop is the bonus; the phone is the product.

  • 03

    Three languages

    Hebrew, Arabic and English from day one, with real RTL — not a translated English UI. Every string, every arrow direction, every number and date format passes through one language layer.

// 11 · The outcome

From one lot.
To a network of dealers.

CARZZ lives at dealers.carzz.co.il as the private trading platform of Israel's car dealers: shared inventory at dealer prices, a search that understands what you type, chat and auctions to close, inventory requests that reach the right people — and a trial-and-subscription business model that runs itself.

The product was built in stages — from 'CarTalk' in 2023 to the auction engine, inventory requests, subscription and admin of 2025–2026 — on the same codebase and database. That's how it continues: a dealer dashboard, credit, and more.

// 12 · Technology & capabilities

What's under the hood

One monorepo: a web app, a Python API, one database — and a lot of pure, testable logic.

  • FRONTENDNext.js (App Router) · React · Tailwind
  • I18Nnext-intl: Hebrew, Arabic, English, RTL
  • BACKENDFastAPI · Pydantic · asyncio
  • DATAMongoDB Atlas · Atlas Search with fuzzy
  • GEOGeo search: radius, localities, OpenStreetMap
  • AUCTIONSAuction engine with a background loop and leases
  • MATCHINGAudience matching for requests — pure logic
  • PAYMENTSCardcom: checkout, webhook, recurring billing
  • MEDIAS3 for photos and video, Pillow compression
  • NOTIFYSMS (Inforu) · e-mail (SendGrid) · deduped notifications
  • SECURITYJWT, bcrypt, HTML sanitising, rate limiting
  • OPSAnalytics events, structured logs, unit tests

// 13 · Building a marketplace or a B2B platform?

From a market idea
to a system that closes deals.

We build platforms where two sides meet — with search, chat, auctions, payments and an admin console — and stay with them from the first phase to the next version. Let's build yours.

Closed. Direct. Dealer to dealer.